Entity Frameworkによって作成された生成されたデータクラスのいずれかにプロパティを追加しようとしています。私は別の生成されたクラスで問題なく、まったく同じことをやったし、何らかの理由でこのクラスでは動作しません。Entity Framework:生成されたデータオブジェクト例外のカスタマイズ
生成された2つのオブジェクト間の唯一の違いは、一つだけストレートテーブルマッピング(動作1)と別のオブジェクト(機能しないもの)から他の継承です。つまり、一つのテーブルが2つのエンティティを表し、私はそれを抽象化し、2つの継承エンティティを作成したいくつかの基準に基づいて...
<EntityType Name="Product" Abstract="true">
<Key>
<PropertyRef Name="Id" />
</Key>
<Property Name="Id" Type="String" Nullable="false" />
</EntityType>
<EntityType Name="Key" BaseType="MyEntities.Product">
<Property Name="Status" Type="String" Nullable="true" />
<Property Name="SerialNumberString" Type="String" Nullable="true" />
</EntityType>
<EntityType Name="License" BaseType="MyEntities.Product" >
<Property Name="ProductCode" Type="String" Nullable="true" />
<Property Name="Version" Type="String" Nullable="true" />
</EntityType>
アイブ氏は、次の...
public partial class Key
{
public int? SerialNumber
{
get
{
int serialNumber;
if (int.TryParse(SerialNumberString, out serialNumber))
{
return serialNumber;
}
return null;
}
set
{
SerialNumberString = value.ToString();
ReportPropertyChanged("SerialNumber");
}
}
}
にプロパティを追加しました
ReportPropertyChangedが呼び出されると、この例外がスローされます。
System.ArgumentException:プロパティ 'SerialNumber'にエンティティオブジェクトの有効なエンティティマッピングがありません。詳細については、Entity Frameworkのマニュアルを参照してください。
私は、唯一の違いは、いただきました!を継承スローしません別の生成されたデータクラスで同じコードをが起こっているしています?
SerialNumberStringは数値データのみを含むnvarcharカラムにマップされるため、追加したSerialNumberプロパティがラッピングされているので、数値として使用できます。 – andrej351
ええ、それはEFが好きではないかもしれないと言います。"SerialNumber"の名前を "SerialNumber2"に変更し、 "SerialNumber2"について不平を言うかどうか確認してください。エンティティはこれを実装しようとする前に、数週間のために、この構造では正常に動作しているよう –
葉には、名前に関係なく – andrej351