簡體   English   中英

實體框架ID屬性

[英]Entity Framework ID properties

我有一個第三方類模型(無法修改),我需要使用EF進行持久化。 問題在於該模型的某些類不具有ID屬性,並且不具有任何可用作Fluent API生成的表的鍵的屬性。

我還認為要在部分類中定義ID屬性,但是部分類不能位於不同的程序集中,因此該解決方案不可行。 我腦海中浮現出思考,但我認為不可能。

有一種方法(使用Fluent API或其他技術)將屬性(例如,自動增量)添加到無法修改的存在模型中?

除非sealed了第三方階級,否則您應該能夠將其用作基類,並從中衍生出更友好的階級。 例如:

public class Foo //3rd party class
{ ... }

public class myFoo : Foo
{
    public long FooId {get; set;}
}

如果sealed您仍然可以在其周圍寫一個包裝紙

public sealed class Foo //3rd party sealed class
{ ... }

public class FooWrapper
{
    public long FooId {get; set;}
    public Foo InnerFoo {get; set;} 
}

無論哪種情況,您都可以將自定義對象(派生類或包裝器)持久保存到數據庫中,然后在需要時提取原始Foo

編輯根據您的評論,您還可以使用復合鍵進行調查。 坦白說,我從未在EF中使用過它們,所以我什至不知道從哪里開始向您介紹它們,但是它們可能更適合您的特定需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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