![](/img/trans.png)
[英]How to insert records into a Self referencing table via Fluent nHibernate?
[英]How can I insert a table row with a FK referencing an enum equivalent db table in Fluent Nhibernate
希望您能為我提供幫助。 我有兩個數據庫表。 第一個稱為狀態,不會改變。 它包含兩列,一列用於ID,另一列稱為狀態,其中包含值“已排隊”,“處理中”,“已處理”
第二個表稱為“活動”,並使用FK約束活動的狀態
使用流利的Nhibernate,如果我想在Table.Activity中插入新行,我是否需要在實體Activity和關聯的映射中引用實體(表)的``狀態'',例如:
public virtual Status Status { get; set; } // Activity Entity Class
References(a => a.Status); // Activity Mapping Class
如果我這樣做了,那我將如何保存新的會話
session.Save(new Activity
{
Name = "Activity A1DD",
Status = new Staus { ID = 1 } // But can't do that cause its expecting an object
}
我可以看到的替代方法只是將FK表示為整數,並創建一個表示該表的枚舉類,不用擔心使用Fluent的關系嗎?
謝謝
國標
要么使用現有狀態
session.Save(new Activity
{
Name = "Activity A1DD",
Status = session.Get<Status>(1)
});
告訴它使用具有給定id的數據庫中的現有狀態(不加載它)
session.Save(new Activity
{
Name = "Activity A1DD",
Status = session.Load<Status>(1)
});
拋棄整個Status表並使用Enum代替(當status沒有屬性/行為時足夠)
session.Save(new Activity
{
Name = "Activity A1DD",
Status = Status.InProcess
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.