例外を作成するEDMX/DB-スキーマを使用法の枠組4を使用ContextBuilderと汎用クラス
-
19-09-2019 - |
質問
私が使っているの Microsoft.データです。団体をいう。CTP (企業の枠組みCTP)。純4枠組みをEDMXメタデータから私C#の授業をデータベースのスキーマ.
Iセットアップの簡単なモデルなど:
public class AModelContainer : ObjectContext
{
public IObjectSet<RegularClass> RegularClasses {
get { return CreateObjectSet<RegularClass>(); }
}
}
私は単純なパターンを定義する新しいContextBuilderに基づきモデルです。
var builder = new ContextBuilder<AModelContainer>();
using(var context = builder.Create(new SqlConnection(connString)))
{
context.RegularClasses.AddObject(new RegularClass());
context.SaveChanges();
}
この動作. まで いうもう少し複雑な...
私にとりましてモデルの汎用クラス
public class AModelContainer : ObjectContext
{
public IObjectSet<SpecialClass<string>> SpecialClasses {
get { return CreateObjectSet<SpecialClass<string>>(); }
}
}
現在の保存を取得します 例外:
マッピングやメタデータ情報が見つからなかったためEntityType'試作品です。SpecialClass`1[[システム。文字列、mscorlib、バージョン=4.0.0.0文=neutral,PublicKeyToken=b77a5c561934e089]]'.
この線の AModelContainer:
return CreateObjectSet<SpecialClass<string>>();
デフォルトのコンストラクタのケSpecialClass'は何も行いませんでしょうか?
public class SpecialClass<T>
{
public SpecialClass()
{ }
}
※この記事のオリジナルはこの問題の ContextBuilder ではなく、問題を解決する役目をいうがあるので、利用ビルダを構築します。ComplexType()、またはその他の方法でご案内です。
のCTPできないこのシナリオしかも---
る"`1"の後に私のクラス名などの例外を...
解決
使用できません一般の授業としての主体はEFより延長コードのみ)。
この限定のマッピング能力とCLRの概念モデルです。
ポストBeta2を追加することにより得られるこのようなもの:
public class Entity<TKey>
{
public TKey ID {get;set;}
}
public class Person: Entity<int>
{
public string Firstname {get;set;}
public string Surname {get;set;}
}
のみ Person
は"企業"のEFのモデルの ID
物件基本クラスからアップのプロパティとして Person
.
計画はないのです。NET4.0/EF4を支援マッピング汎用クラスは、エンティティモデルです。
武器agiは、dexで下がらないboxerぐ
アレックス