在设置SELECT id, userID
from table
where id!= 1111 and created_at >='2017-08-10'
group by userID
ORDER BY RAND()
LIMIT 1;
时,我们有
DbContext
EFCore抛出异常:
实体类型“Person”需要定义主键
但是我们的modelBuilder.Entity<Person>(app =>
{
app.ToTable("Person");
});
表没有任何主键列。
如何避免这种情况?
答案 0 :(得分:4)
EF Core不支持没有主键(又名堆)的表。原因很简单:它需要能够操作单个记录,这是在没有主键的情况下无法安全实现的。 作为解决方案,您可以添加int / identity或guid / uniqueidentifier类型的虚拟列/主键,只需忽略它。