0
我有一個評論類,其中包含評論作者/最後一個人的用戶對象來修改評論。在EF代碼中設置外鍵首先到現有的SQL Server數據庫
public class Comment
{
public int CommentId { get; set; }
public int SignOffId { get; set; }
public string CommentText { get; set; }
public int LastModifiedByUserId { get; set; }
public DateTime LastModifiedOnDate { get; set; }
public virtual User LastModifiedByUser { get; set; }
}
我試圖建立在CommentMap
類的關係,但我無法弄清楚如何做到這一點沒有把虛擬財產Comment
在User
類。但我不想要這樣做,因爲從User
類的業務邏輯沒有任何意義,因爲它有一個Comment
對象。
LastModifiedByUserId
是指向User
表的Comments
表中的外鍵。
這裏是CommentMap
ctor。
public CommentMap() {
// Primary Key
this.HasKey(t => t.CommentId);
// Properties
this.Property(t => t.CommentText)
.IsRequired()
.IsMaxLength();
this.Property(t => t.LastModifiedByUserId)
.IsRequired();
this.Property(t => t.LastModifiedOnDate)
.IsRequired();
// Table & Column Mappings
this.ToTable("Comments");
this.Property(t => t.CommentId).HasColumnName("CommentId");
this.Property(t => t.SignOffId).HasColumnName("SignOffId");
this.Property(t => t.CommentText).HasColumnName("CommentText");
this.Property(t => t.LastModifiedByUserId).HasColumnName("LastModifiedByUserId");
this.Property(t => t.LastModifiedOnDate).HasColumnName("LastModifiedOnDate");
// Relationships
this.HasRequired(c => c.LastModifiedByUser)
.WithRequiredDependent(u => u.UserId) //This doesn't work
.HasForeignKey(c => c.LastModifiedByUserId);
}
它希望在WithRequiredDependent
線的實體,而不是一個整數。這是完全錯誤的方式來建立這種關係?當我從數據庫中提取一條評論時,我希望它爲最後修改註釋的人獲取用戶對象。
您可以將參數列表留空嗎? – Legion
https://msdn.microsoft.com/en-us/library/gg696499%28v=vs.113%29.aspx –