SQL CE 4和EF 6代码优先不支持默认值

汤玛斯·许贝尔鲍尔

我有以下代码优先模型:

  public class TestContext : DbContext
  {
    public TestContext() : base("Data Source=Test.db") { }
    public DbSet<Item> Items { get { return this.Set<Item>(); } }
  }

  public class Item
  {
    public Int32 Id { get; set; }

    public virtual ICollection<SubItem1> SubItems1 { get; set; }
    public virtual ICollection<SubItem2> SubItems2 { get; set; }
  }
  public class SubItem1
  {
    public Int32 Id { get; set; }
    public Int32 ItemId { get; set; }
    public Item Item { get; set; }
    public String Test { get; set; }
  }
  public class SubItem2
  {
    public Int32 Id { get; set; }
    public Int32 ItemId { get; set; }
    public Item Item { get; set; }
    public Int32 TestCode { get; set; }
  }

当这样使用时:

  using (var context = new TestContext())
  {
    context.Items.Add(new Item());
    context.SaveChanges();
  }

我遇到一个异常,显示“不支持默认值”。从此异常引发DmlSqlGenerator.GenerateInsertSql并传播此异常

最初,我使用更复杂的架构获得了例外,但是我可以将其归结为这一点。这是SQL CE的限制吗?如何解决这个问题,如何让一个主体项具有两组相关项,每组相关项都有标量值?

马赫什

CE和EF的已知问题,但这是指向该问题和解决方案的MSDN论坛的链接

其要旨不是拥有仅具有键的实体,它可以是唯一的主键或主键和外键。添加标量列可消除异常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL CE 4和EF 6代码优先不支持默认值

来自分类Dev

数据库迁移EF 6代码优先中的Alter存储过程-如何将null作为参数的默认值传递

来自分类Dev

实体框架6 / SQL Server CE 4 SaveChangesAsync()

来自分类Dev

EF6代码首先使用数据注释来填充有关SQL表和列的描述

来自分类Dev

EF6代码首先使用数据注释来填充有关SQL Table和Colums的描述

来自分类Dev

使用EF 5和MVC 4将十进制值插入SQL Server

来自分类Dev

使用EF 5和MVC 4将十进制值插入SQL Server

来自分类Dev

EF6代码优先更改数据值

来自分类Dev

为什么在编译为sql时EF 5.0不支持此EF 4.x LINQ语法?

来自分类Dev

EF5 Codefirst和SQL CE的App.config设置

来自分类Dev

EF 6代码优先存储过程-只读

来自分类Dev

EF6代码优先模型ForeignKey

来自分类Dev

EF7和SQLite麻烦大了,我可以将SQL Server CE与Mobile一起使用吗?

来自分类Dev

SQL可选联接和默认值

来自分类Dev

MVC4代码优先实体框架将大文件上传到SQL Server数据库

来自分类Dev

EF6代码优先,具有通用存储库以及依赖注入和SoC

来自分类Dev

EF6 + SQL Server CE +两个上下文+从代码进行CodeFirst迁移-添加迁移后检测未决更改

来自分类Dev

.net核心和ef核心sql服务器错误提供程序:SQL网络接口,错误:8-不支持协议

来自分类Dev

SQL Server CE,实体框架和WinForms之间的简单连接

来自分类Dev

SQL Server CE 4.0,CodeFirst和GUID密钥

来自分类Dev

SQL Server CE 4.0,CodeFirst和GUID密钥

来自分类Dev

Mvc 4代码优先与Mysql

来自分类Dev

SQL CE SELECT转换

来自分类Dev

SQL Server CE 与 SqlClient

来自分类Dev

EF6代码优先对表进行复数的对象名称无效

来自分类Dev

EF6代码优先:使用Fluent API声明外键

来自分类Dev

EF6代码优先-可能导致循环或多个级联路径

来自分类Dev

应用EF 6代码优先的迁移-找不到上下文类型

来自分类Dev

使对动态表LINQ EF6代码优先的访问成为可能

Related 相关文章

  1. 1

    SQL CE 4和EF 6代码优先不支持默认值

  2. 2

    数据库迁移EF 6代码优先中的Alter存储过程-如何将null作为参数的默认值传递

  3. 3

    实体框架6 / SQL Server CE 4 SaveChangesAsync()

  4. 4

    EF6代码首先使用数据注释来填充有关SQL表和列的描述

  5. 5

    EF6代码首先使用数据注释来填充有关SQL Table和Colums的描述

  6. 6

    使用EF 5和MVC 4将十进制值插入SQL Server

  7. 7

    使用EF 5和MVC 4将十进制值插入SQL Server

  8. 8

    EF6代码优先更改数据值

  9. 9

    为什么在编译为sql时EF 5.0不支持此EF 4.x LINQ语法?

  10. 10

    EF5 Codefirst和SQL CE的App.config设置

  11. 11

    EF 6代码优先存储过程-只读

  12. 12

    EF6代码优先模型ForeignKey

  13. 13

    EF7和SQLite麻烦大了,我可以将SQL Server CE与Mobile一起使用吗?

  14. 14

    SQL可选联接和默认值

  15. 15

    MVC4代码优先实体框架将大文件上传到SQL Server数据库

  16. 16

    EF6代码优先,具有通用存储库以及依赖注入和SoC

  17. 17

    EF6 + SQL Server CE +两个上下文+从代码进行CodeFirst迁移-添加迁移后检测未决更改

  18. 18

    .net核心和ef核心sql服务器错误提供程序:SQL网络接口,错误:8-不支持协议

  19. 19

    SQL Server CE,实体框架和WinForms之间的简单连接

  20. 20

    SQL Server CE 4.0,CodeFirst和GUID密钥

  21. 21

    SQL Server CE 4.0,CodeFirst和GUID密钥

  22. 22

    Mvc 4代码优先与Mysql

  23. 23

    SQL CE SELECT转换

  24. 24

    SQL Server CE 与 SqlClient

  25. 25

    EF6代码优先对表进行复数的对象名称无效

  26. 26

    EF6代码优先:使用Fluent API声明外键

  27. 27

    EF6代码优先-可能导致循环或多个级联路径

  28. 28

    应用EF 6代码优先的迁移-找不到上下文类型

  29. 29

    使对动态表LINQ EF6代码优先的访问成为可能

热门标签

归档