0

我有表用户和角色。在用户表中,我有 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 值的用户对象。我该如何解决这个问题?提前致谢。

4

1 回答 1

0

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

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

于 2012-06-19T06:23:49.363 回答