实体框架 – 具有实体框架的SQLite
发布时间:2020-12-12 19:16:25 所属栏目:百科 来源:网络整理
导读:使用SQLite时,我在Entity Framework中遇到主键问题。 SQLite希望在自动增量主键列上的VALUES列表中显式显示NULL。我没有在EF上下文中看到生成的SQL,但是我相信它会遵循通常的SQL Server惯例来为autoincrementing列提供任何值。 根据site的ADO.NET SQLite提
使用SQLite时,我在Entity Framework中遇到主键问题。 SQLite希望在自动增量主键列上的VALUES列表中显式显示NULL。我没有在EF上下文中看到生成的SQL,但是我相信它会遵循通常的SQL Server惯例来为autoincrementing列提供任何值。
根据site的ADO.NET SQLite提供商,EF完全支持,但我没有找到任何帮助。有没有办法强制EF为主键值显式地插入NULL? 那我终于做了这个工作:D。您需要将id列设置为自动增量,这样就可以使用EF。不要问我为什么在sqlite常见问题的自动增量问题中没有提及。这是一个例子:create table Persona ( PersonaID integer primary key autoincrement,Nombre text) 另外,我没有找到一个方法来设置这个从视觉工作室,我不得不从命令行工具。 更新:以下代码工作正常。 PruebaDBEntities data = new PruebaDBEntities(); foreach (int num in Enumerable.Range(1,1000)) { Persona p = new Persona() { Nombre = "Persona " + num,Edad = num }; data.AddToPersona(p); data.SaveChanges(); Console.WriteLine(p.PersonaID); } PersonaID未设置,并且在保存操作后,它的值由sqlite分配。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |