1

EF4 で POCO (プロキシなし) を使用しています。

データベースには、次の null 許容の 10 進数列があります。

<Property Name="AMOUNT" Type="decimal" Precision="12" Scale="2" />

私の POCO には、次の null 非許容値プロパティがあります。

public decimal Amount { get; set; }

データベースの値が の場合、nullプロパティを に設定し0ます。どうすればこれを達成できますか?Nullableここにプロパティを持たない方がいいです。そうしないと、ビジネス ロジックをGetValueOrDefault()コードで汚染する必要があります。

[この質問は私が尋ねているように見えましたが、本当に答えられたかどうかはわかりません。]

4

1 に答える 1

2

残念ながら、EF は変換ロジックを配置できる単純な型マッピング/型コンバーターを提供しないため、POCO で null 許容の 10 進数を使用する必要があります。機能させるには、型が同じでなければなりません。

EDMX の場合、考えられる厄介な回避策が 1 つあります。列を非パブリック プロパティにマップし、(POCO クラスの部分部分で) マップされない別のパブリック プロパティを公開すると、ゲッターとセッターに変換ロジックが含まれます。ここでは、プロパティの可視性を変更する方法について説明します。

于 2011-07-18T20:45:06.133 に答える