エンティティフレームワークにカスタムタイプのインスタンスを保存する方法(スカラとして保存できる)
-
13-11-2019 - |
質問
私のエンティティクラスの1つはSQL Serverに保存することが可能です ビッグ点としてデータベース。私の質問は:エンティティフレームワークを取得する方法 エンティティクラスのインスタンスを保存および取得する方法を知るためのコンテキスト?
詳細。 Noda Time を使用しています。 SQLまたは.NET DateTime(そしてそれはデザートトッピングです)よりも日付。私のエンティティクラスが起こっている、Nodatimeの周りのラッパーです インスタントクラス私は長い間起きたことを設定することができます、そして .setfromlong(Long Instant)と.tolong()のような方法で起こる。
現在私のモデルの作業を持っていて、含まれるクラスの保存 ドットネット日付タイプのプロパティ。代わりに私はプロパティを使いたいのです 私のカスタムタイプ「起こっている」のうち、エンティティフレームワークをどのように保存するかをどのように教えてください。
私がモデリングとマッピングについてこの記事を読んでいる場合 正しいトラックまたは不足しているものが簡単な?
> http://msdn.microsoft.com/en-us/library/ BB896343.aspx
Entity Frameworkを使用しています4.
解決
あなたのエンティティに2つのプロパティを追加することは、あなたのEFモデルで[NotMapped]を使ってあなたのNoDatimeプロパティを除外し、あなたのgetter / setterの長さを更新してください。
IE
public class MyEntity{
public long TimeAsLong{get;set;}
[NotMapped]
public Happening {
get{
return new Happening().SetFromLong(TimeAsLong);
}
set {
TimeAsLong = value.ToLong();
}
}
}
.
この効果は、長い時間がdBに格納されていますが、NoDatime を介してクラス上にアクセスできます。