簡體   English   中英

如何在Fluent Nhibernate中插入帶有FK的表行,該行引用枚舉等效的db表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM