Kai*_*ani 0 c# entity-framework-core
我正在尝试启动并运行 EF Core,但它一直抱怨我的表需要主键。现在围绕这个问题的现有问题还没有为我解决。
该模型:
public class User
{
[Column("id")]
public long Id { get; }
}
Run Code Online (Sandbox Code Playgroud)
我尝试添加[Key]属性:
public class User
{
[Key]
[Column("id")]
public long Id { get; }
}
Run Code Online (Sandbox Code Playgroud)
我什至尝试[Key]使用选项添加属性:
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
Run Code Online (Sandbox Code Playgroud)
经过所有尝试,我仍然收到此错误:
未处理的异常。System.InvalidOperationException:实体类型“用户”需要定义主键。如果您打算使用无键实体类型,请调用“HasNoKey()”。
小智 5
您需要为您的属性定义一个 setter。这是因为当 EF Core 从 DB 加载数据时,它会构造该类的对象,因此它需要一个 setter 来设置属性。
public class User
{
[Key]
[Column("id")]
public long Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这应该够了吧。
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |