2012-02-02 8 views
0

データベースに非常に大きなテーブルがあり、それを変更できません。 私はテーブルのBaseEntity型を持っています。階層ごとのEntity Frameworkテーブルの制限

私はいくつかの子供(entity1、entity2)を持っており、それぞれの型を同じ列( "Date")と名前プロパティに別々にマップしたいと思います。

は確かに私は私のスーパー表内の約100の列(それは私の設計ではありません私はJSTそれをマッピングする必要がありました)

は、だから私は0019エラーを持っている基本型の原因にすべて同じ列のプロパティを移動することはできません私のためではなく、それを解決する方法がありますか?

答えて

1

TPHでは、派生エンティティで定義された各プロパティがそのエンティティに対して排他的である必要があります(他のエンティティは同じ列にマップできません)。これは、EFのより一般的なルールを対象としています。各列は1回だけマップできます。したがって、より多くのエンティティでいくつかの列を使用する必要がある場合は、親で定義し、すべての子エンティティで同じ名前を持つ必要があります。

+0

Ladislavに感謝、あなたの答えを見てうれしく思います。あなたがここのefで最も貴重なメンバーだと思うからです...しかし、私はショックを受けています。 ...私は階層を使用することはできませんし、私は任意の階層のない1つのテーブルに異なるタイプをマップすることはできません.... LinqToSqlからの私の動きが失敗した –