我在C#中使用Entity Framework编写聊天
这是我的代码
public class User
{
[Key]
public long id { get; set; }
public List<UserMessages> userMessages { get; set; }
}
public class UserMessages
{
[Key]
public long Id { get; set; }
public long ChatMateId { get; set; }
public string text { get; set; }
public DateTime? dateTime { get; set; }
}
实体框架代码 - 首先强迫我在Id
类属性UserMessages
中放置[Key]
字段,我根本不需要此字段,因为UserMessages
是弱实体,指向id
User
创建表后,我可以从sql表中删除long Id
,没有任何问题吗?
答案 0 :(得分:0)
[Key]
,否则会爆炸。即使映射到SQL视图(因为我已经学到了很多困难,相信我)。
在您的情况下,您实际上应该在该表中使用正确的外键,如下所示:
public class UserMessages
{
[Key]
public long Id { get; set; }
[ForeignKey("User")]
public long UserId { get; set; }
public long ChatMateId { get; set; }
public string text { get; set; }
public DateTime? dateTime { get; set; }
public User User { get; set; }
}