2016-12-23 9 views
3

には、feature MAPで複数のテーブルに保存するエンティティを分割することができます:Entity Frameworkのコアテーブルの分割アプローチ

modelBuilder.Entity<Employee>() 
    .Map(map => 
    { 
    map.Properties(p => new 
    { 
    p.EmployeeId, 
    p.Name, 
    p.Code 
    }); 
    map.ToTable("Employee"); 
    }) 
    // Map to the Users table 
    .Map(map => 
    { 
    map.Properties(p => new 
    { 
    p.PhoneNumber, 
    p.EmailAddress 
    }); 
    map.ToTable("EmployeeDetails"); 
    }); 

これは上で行うことが可能であるならば誰かが知っている場合、私は思っていましたエンティティフレームワークのコア、私はそれについて長い時間を探していて、何も似たものを見つけませんでした。

現時点では、私はこの問題を解決するためにDtosを使用していますが、解決策が増えているので、苦労しています。

ありがとうございます、ありがとうございます。このオープンチケットに見られるように

+1

私はそれが可能ではないと思います。 –

答えて

2

、まだ実装されていません:あなたは別のテーブル間のエンティティを分割する必要がある場合はhttps://github.com/aspnet/EntityFramework/issues/619

+0

このチケットは、ef-core 2.0.0で実装されている* table *分割に関するものです。* OPは* entity *分割について話して間違った用語を使用しています質問のタイトルに。 –

0

、1つのアプローチは、現在EF_coreに実装されていないあなたが言及した1、です。

もう1つのオプションは、DB側でビューを作成し、そこからデータを受け取るようにエンティティを構成することです。 ( このアプローチの欠点は、このモデルの要素を追加、更新、または削除するためのカスタムロジックを含める必要があることです。

関連する問題