C# 插入过程中设置的属性需要实体框架属性错误

C# 插入过程中设置的属性需要实体框架属性错误,c#,sql,entity-framework,stored-procedures,C#,Sql,Entity Framework,Stored Procedures,我正在为一个网站使用EntityFramework 5.0.0,并尝试通过存储过程插入一个对象。对象具有一些属性,这些属性在插入时不需要设置,因为它们是由存储过程设置的。这些属性的列在数据库中设置为NOTNULL。实体框架抱怨需要这些属性中的一个,我认为这与插入时未设置它们有关 是否有什么我遗漏了,或者没有完全理解?或者我的设计有缺陷?谢谢 如果您首先使用EF代码,那么该属性上可能有一个[Required]属性。只要把它拿走,你就会没事的 如果首先使用EF模型,则会推断该属性是必需的,因为它在数

我正在为一个网站使用EntityFramework 5.0.0,并尝试通过存储过程插入一个对象。对象具有一些属性,这些属性在插入时不需要设置,因为它们是由存储过程设置的。这些属性的列在数据库中设置为NOTNULL。实体框架抱怨需要这些属性中的一个,我认为这与插入时未设置它们有关


是否有什么我遗漏了,或者没有完全理解?或者我的设计有缺陷?谢谢

如果您首先使用EF代码,那么该属性上可能有一个[Required]属性。只要把它拿走,你就会没事的


如果首先使用EF模型,则会推断该属性是必需的,因为它在数据库中不为NULL。在EDMX中将该列的可空设置更改为EF,EF应该停止抱怨。

我成功地找到了我想要的内容。为了找到这个,我花了很长时间寻找它,我不确定我是怎么错过的,但无论如何,它是这样的:

在EDMX中查看给定列的属性时,有一个名为StoreGeneratedPattern的属性。本质上,这是一个枚举,在插入和更新过程中声明指定列的不同行为。选项包括无、计算和标识

起初我并不认为这是我想要的,因为这些列不是标识列,也不是计算列。然而,这并不是期权所指的,它们只是碰巧同名而已。在我的情况下,Identity允许我指定一个值,该值在插入时生成,在根据文档进行更新时保持不变


您可以了解有关这些选项的更多信息。

我假设在从数据库更新模型时会覆盖对Nullable属性的更改,但情况似乎并非如此,因此从本质上讲,这是可行的。然而,我希望用一种不太老套的方式来实现期望的行为。