2011-12-16 4 views

答えて

1

EFデザイナーには、データ時間のデフォルト値を設定するための有用なサポートはありません。最も良い方法は、エンティティのコンストラクタのデフォルト値を初期化することです。あなたがあなた自身の部分部分と使用を作成することができるように、各エンティティは、部分クラスである:

public partial class YourEntity 
{ 
    public YourEntity() 
    { 
     YourDateProperty = DateTime.Now; 
    } 
} 

同じことが唯一のマッピングコードに対して有効ですが、あなたの中に直接コンストラクタを定義することができますので、このような場合には、あなたは、部分的な部分を必要としません手動で作成されたエンティティクラス。

+0

最初にEF 4.1コードを使用する場合、エンティティは部分的である必要はありません。 – danludwig

+0

@olivehour:はい、私は最後のsenteseでそれを言及しました。 –

0

データベース(列プロパティ)にデフォルト値を指定することを検討してください。

0

デフォルトのdatetime値として現在の時刻のみを使用する必要がある場合は、System.ComponentModel.DataAnnotationsTimeStamp属性を使用して、エンティティが表すデータベーステーブルにNULLを許可しないTimestamp列を作成できます。

[Timestamp] 
public Byte[] TimeStamp { get; set; } 

コードは、エンティティごとに1つのタイムスタンププロパティのみを許可します。