我下面的实体框架指南:为什么不试图插入一个唯一的种子列时的实体框架给出一个错误?
https://msdn.microsoft.com/en-au/data/jj200620
在这里我需要添加一个博客的一部分,我请执行下列操作:
var blog = new Blog { Name = "TEST123",
BlogId=3 };
db.Blogs.Add(blog);
db.SaveChanges();
这没有给我任何工作错误,但BlogId将自动生成,因为该表的列具有唯一种子值。
为什么没有这个给我任何错误,当我运行代码?它只是在名称列中插入“TEST123”并自动生成ID?我认为它应该给我错误警告我插入的值不会有3的BlogId?
更新:它不给任何错误,但它确实插入“TEST123”到博客数据库,但有BlogID不是3,并通过SQL服务器设置。
我不,如果你将它们明确 – Domysee
因为在实体的属性设置为true的属性知道你正在使用的数据库,但通常可以覆盖自动生成的值。我完全不记得名字,但像StoreGeneratedPattern一样。它只是忽略了你提供的价值。改变它,你会得到一个错误。 –
如果你不希望它是自动生成的,你可以使用属性'[DatabaseGenerated(DatabaseGeneratedOption.None)]'施加于'BlogId'财产。 – Hopeless