Entity Framework外键默认值

时间:2012-06-19 04:13:27

标签: sql-server entity-framework default-value

我有表用户和角色。 在Users表中,我有RoleId列的默认值。 但是我不知道如何让它在EF4中运行,例如,如果我将RoleId属性设置为DatabaseGeneratedOption.Computed

    _repository.Save(new User()
    {
        Login = "asdasd",
        Name = "sadqwqwd",
        Password = "wqdwqd"
    });

新用户将插入默认值,但如果我想在代码中设置RoleId

    _repository.Save(new User()
    {
        Login = "qqasdasd",
        Name = "qqsadqwqwd",
        Password = "qqwqdwqd",
        RoleId = 2
    });

它将忽略我的RoleId值并再次设置默认值。 如果我删除DatabaseGeneratedOption.Computed选项,则无法插入具有RoleId值的用户对象。 我怎么解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

在插入/更新操作中,EF将忽略具有DatabaseGeneratedOption.Computed选项的属性,并且只能在数据库端设置。

从RoleId属性中删除DatabaseGeneratedOption.Computed选项,并在User类的构造函数中设置默认值。