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