微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

实体框架 – 具有实体框架的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分配。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐