私のデータベーステーブルのいくつかで階層ごとの継承テーブルを実装しようとしています(例:Address
)。私はAddress
から3クラスを派生させたいと思います。これらはEmployeeAddress
,CustomerAddress
、SupplierAddress
です。行で始まるマッピングフラグメントでの問題:階層ごとのEntity Frameworkテーブル継承
エラー3032:
Address
はコンクリートで、OwnerCategory
プロパティが含まれている場合+-------------------+------------------------+ | Address |> EmployeeAddress | +-------------------+------------------------+ | ID | .. | | OwnerID | EmployeeID | | OwnerCategory | (condition: where = 0) | | Street_1 | .. | | Street_2 | .. | | City | .. | | Province | .. | | PostalCode | .. | +-------------------+------------------------+ |> CustomerAddress | +------------------------+ | .. | | EmployeeID | | (condition: where = 1) | | .. | | .. | | .. | | .. | | .. | +------------------------+ |> SupplierAddress | +------------------------+ | .. | | EmployeeID | | (condition: where = 2) | | .. | | .. | | .. | | .. | | .. | +------------------------+
問題は...私は取得エラーを保つ
です 178:条件メンバー 'addresses.OwnerCategory'が 'IsNull = False'以外の という条件でマッピングされています。 addresses.OwnerCategoryの条件を削除するか、マッピングから削除してください。
Address
が抽象あるとOwnerCategory
プロパティが含まれます。IsNull = Falseの」以外の条件と条件メンバー 'addresses.OwnerCategory':マッピングフラグメントで
問題は、ライン178から始まるが' がマップされています。アドレスの条件を削除してください.OwnerCategoryまたは マッピングから削除してください。
'DtcInvoicer.Database.Address' は の定義が含まれていない 'OwnerCategory' と拡張子なしの方法:
Address
が 具体的なで、そしてはは
ライン177から始まるマッピングフラグメントでOwnerCategory
プロパティが含まれていません'DtcInvoicer.Database.Address'タイプの最初の引数 を受け入れる 'OwnerCategory'は です(使用するディレクティブまたはアセンブリ参照がありません)
と
問題、195:EntityTypes Model.Address、Model.EmployeeAddressはテーブルアドレス内の同じ行 にマッピングされています。マッピング条件を使用して、これらの型がマップされている行を区別することができます。
(Address
が抽象とあるとき、私はすでに条件セット(OwnerCategory = 0)
を持っていないはOwnerCategory
プロパティが含まれていない:
「DtcInvoicer.Databaseを。「Address」に の定義が含まれておらず、「OwnerCategory」の拡張メソッドがありません。 「DtcInvoicer.Database.Address」タイプの最初の引数を受け入れることができました。 (usingディレクティブまたはアセンブリ参照がありませんか?
ご協力いただきありがとうございます。
ちょっと、私は上記のように 'OwnerCateogry'プロパティを削除し、' Address'をabstractに設定しようとしました。私は最後に述べたエラーを受け取ります。 –
他のコードが 'OwnerCategory'を使っているようですが、' OwnerCategory'を使わないようにそのコードを修正する必要があります。 – scmccart
ねえ、あなたが正しいと思われます。それは今働いているようだ。他の場所で使っていたと思う。再度、感謝します。 –