我有一個問題。我有兩個類,我在實體框架中使用。 第一個是一個人類: 用int id,字符串名稱和動作創建(包括外鍵)。 第二個是行動課。 帶ID,時間和人(包括外鍵)。 當我嘗試遷移這個時,我得到一個錯誤,我應該使用Fluent Api來創建它之間的關係。 我搜索了一下,但它接近是我無法找到有關信息的情況。流利的Api - 人與創造
public class Person
{
[Key]
public int IdPerson { get; set; }
public string Name{ get; set; }
public int? CreationId { get; set; }
[ForeignKey("CreationId")]
public Action Creation{ get; set; }
}
public class Action
{
[Key]
public int IdAction { get; set; }
[Required]
[Column(TypeName = "DateTime2")]
public DateTime Moment { get; set; }
public int? PersonId { get; set; }
[ForeignKey("PersonId")]
public Person Person { get; set; }
}
錯誤消息是在德國:
Das Prinzipalende einer Zuordnung zwischen den Typen 'FunWeb.Models.Core.Person' und 'FunWeb.Models.Core.Aktion' konnte nicht ermittelt werden. Das Prinzipalende dieser Zuordnung muss mithilfe der Fluent-API für Beziehungen oder mithilfe von Datenanmerkungen explizit konfiguriert werden.
但它說,我需要配置由我自己的關係。
對不起,我的英語,並感謝您的幫助
編輯: 我想:
modelBuilder.Entity<Person>().HasRequired(p => p.Creation).WithOptional(a => a.Person);
,但我得到以下錯誤:
Das 'ForeignKeyAttribute' der Eigenschaft 'Person' für den Typ 'Models.Core.Action' ist ungültig. Der Fremdschlüsselname 'PersonId' wurde im abhängigen Typ 'Models.Core.Person' nicht gefunden. Der Name-Wert muss eine durch Trennzeichen getrennte Liste mit Namen von Fremdschlüsseleigenschaften sein.
我試着翻譯:Propaty的ForeignKeyAttribute類型Action的Person是有效的。 「Models.Core.Person」中找不到ForeignKey'PersonId'。名稱值需要是ForeignKeyAttributes的名稱的分離列表。
而你的問題的其餘部分呢? –
抱歉錯過了預覽按鈕並擊中了提交。我現在更新了它。 – user3460436
你也可以添加相關的代碼和完整的錯誤信息文本?有關進一步的指導,請參閱[詢問幫助](http://stackoverflow.com/help/how-to-ask)。 –