原文地址:http://www.oschina.net/translate/sqlite-crud-operation-using-entity-framework 介绍 我善于使用传统的SQL查询风格,从SQL查询解析和转换出无类型的结果,EF给表的操作带来更多的舒适性和生产力:操作的是强类型对象 (比如 Employee, Student, 等等,而不是 row["FirstName"], Int32.Parse(reader["Id"].ToString())…
选择SQLite的理由 在做UWP开发的时候我们首选的本地数据库一般都是Sqlite,我以前也不知道为啥?后来仔细研究了一下也是有原因的: 1,微软做的UWP应用大部分也是用Sqlite.或者说是微软推荐使用Sqlite吧! 2,简单!就只有一个类库没有多余的参照什么的.不像其他数据库还得做复杂配置什么的麻烦! 3,不需要数据库服务,数据服务和客户都在同一个进程里面.如下图: 4,作为存储系统它只支持一个用户一个数据实体. 5,跨平台跨结构,这个好! Sqlite主要使用内容 如果想充分使用好S…
获取Sqlite 1.可以用NuGet程序包来获取,它也会自动下载EF6 2.在Sqlite官网上下载对应的版本:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 注意这里面每个.net framework都有两个版本,一个带有bundle字眼,一个没有.一个安装的DLL里面包含SQLite.Interop.dll,而另一个没有.如果你运行代码的时候报 “无法加载SQLite.Interop.dll”的错误…
获取Sqlite 1.可以用NuGet程序包来获取,它也会自动下载EF6 2.在Sqlite官网上下载对应的版本:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 注意这里面每个.net framework都有两个版本,一个带有bundle字眼,一个没有.一个安装的DLL里面包含SQLite.Interop.dll,而另一个没有.如果你运行代码的时候报 “无法加载SQLite.Interop.dll”的错误…
Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以将数据源返回的数据具体化为对象:跟踪对象所做的更改:并发处理:将对象更改传播到数据源等.今天我们就一起讨论如何利用Entity Framework进行查询.插入.更新和删除数据. 查询 我们将使用AdventureWorks数据库来进行今天的所有演示,因此开始之前请准备好相应的数据库.在EF中进行查询应该说是相当简单,只需要定义一个类继承于“DbContext”,然后定义对应的“DbSet”集合属性即可.例…
在Entity Framework 中使用SaveChanges()是很频繁的,单次修改或删除数据后调用SaveChanges()返回影响记录数. 要使用批量修改或者批量删除数据,就需要SaveChanges(false)+AcceptAllChanges()方法了. SaveChanges(false) 只是通知EF需要对数据库执行的操作,在内存中是属于挂起状态,在必要的时候是可以撤销的,比如AcceptAllChange()提交为真正成功,EF将撤销SaveChanges(false)的操作…
在EF实体框架中进行日志跟踪,一般都是自己写个Log实体类,在数据保存时进行属性原始值验证来进行日志跟踪.当然还可以使用一些第三扩展库例如:entity framework extended进行日志记录,本文介绍如何使用TrackerEnabledDbContext进行操作日志跟踪. 1,首先创建项目工程,TrackerEnabledDbContext只支持4.5及以上框架,详情见:https://www.nuget.org/packages/TrackerEnabledDbContext 2,…
本节,直接写通过代码来学习.这些基本操作都比较简单,与这些基本操作相关的内容在之前的1至6节基本介绍完毕. l           增加: 方法1:使用AddToXXX(xxx)方法:实例代码如下: using (var edm = new NorthwindEntities()) { Customers c = new Customers { CustomerID = "c#", City = "成都市", Address = "中国四川省",…
1.增加对象 DbEntity db = new DbEntity(); //创建对象实体,注意,这里需要对所有属性进行赋值(除了自动增长主键外),如果不赋值,则会数据库中会被设置为NULL(注意是否可空) var user = new User { Name = "bomo", Age = 21, Gender = "male" }; db.User.Add(user); db.SaveChanges(); 2.删除对象,删除只需要对象的主键 DbEntity d…
1.增加对象 DbEntity db = new DbEntity(); //创建对象实体,注意,这里需要对所有属性进行赋值(除了自动增长主键外),如果不赋值,则会数据库中会被设置为NULL(注意是否可空) var user = new User { Name = "bomo", Age = 21, Gender = "male" }; db.User.Add(user); db.SaveChanges(); 2.删除对象,删除只需要对象的主键 DbEntity d…