-
使用DbFirst生成实体类,通过实体类快速实现增删改查操作作者 : Jacky 发布于 2023-05-23 18:03:52 浏览 1037 次超级便捷的增删改查
创建一个数据库,这里我创建一个sqlite数据库,并且在里面创建一张表。mysql、sqlserver、达梦都可以的。
创建好之后,就可以直接生成实体类了。
var db = new XiaoFeng.Data.DataHelper(new ConnectionConfig("MonitoringDoor")); db.GetData().CreateModel(@"D:\\MonitoringDoors\\Model", "", "MonitoringDoor");
这两行就是生成实体类的方法,
第一行代码的意思是:连接数据库,
第二行代码的意思是:生成model实体类到指定的位置。
MonitoringDoor 是数据库的名字。下面开始介绍,如何生成数据库连接串配置文件。
var config = DataBase.Current; config.Add("MonitoringDoor", new ConnectionConfig[] { new ConnectionConfig { ProviderType = DbProviderType.SQLite, ConnectionString="Data Source=D:\\MonitoringDoor.db3;", } }); config.Save();
执行这个代码,会在你的bin文件下生成一个Config 文件,
复制到你项目的根目录,修改下里面的连接串路径:{ "MonitoringDoor": [ { "ProviderType"/*驱动类型*/: "SQLite", "ConnectionString"/*数据库连接字符串*/: "Data Source={/}\\MonitoringDoor.db3;", "IsTransaction"/*是否启用事务处理*/: false, "CommandTimeOut"/*执行超时时间*/: 0, "CacheTimeOut"/*缓存时长 单位为秒 0为永久缓存*/: 600, "CacheType"/*缓存类型 Default 默认, No 不缓存, Memory 内存, Disk 磁盘, Redis, Memcache, MongoDB*/: "No", "IsolationLevel"/*事务级别 DbNull 空级别, Serializable 串行读, RepeatableRead 可重复读, ReadCommitted 提交读, ReadUncommitted 未提交读, Snapshot 隔离未提交读, Chaos 混乱读, Unspecified 未指定*/: "Unspecified", "IsPool"/*是否启用连接池*/: false, "MaxPool"/*连接池最大数量*/: 100 } ] }
这些系统都生成好的了,
你只需要修改 “ConnectionString”/数据库连接字符串/: “Data Source={/}\MonitoringDoor.db3;”,
这个路径{/} 就是当前的路径。核查无误后,执行这两行代码,然后去你的路径找到生成的路径,路径可以写的项目的model路径,这样你就不用人工copy了。
var db = new XiaoFeng.Data.DataHelper(new ConnectionConfig("MonitoringDoor")); db.GetData().CreateModel(@"D:\\MonitoringDoors\\Model", "", "MonitoringDoor");
上述工作做好之后,找个控制器,直接使用生成的model 类可以直接增删改查。
例如分页:var list = DeviceInfoModel.Create.QueryableX.Take(6).Skip(1).ToList();
直接查询var list = DeviceInfoModel.Create.ToList();
更新var dev = DeviceInfoModel.Create.Find(x => x.ID == 2); dev.InspectionQuantity++; dev.Update(); //也可以根据条件进行更新 DeviceInfoModel.Create.Where(x => x.ID == 2).Update(dev);
所有评论(0)