2

DataContextインスタンスなしでLinqからSQLへのマッピングデータにアクセスすることは可能ですか?

一部のエンティティと一部のエンティティ列に対してのみトリガーされる監査データ生成コードを記述しているため、質問します。Linq DBにアクセスする前に、このメタデータを静的コンストラクターで修正したいと思います。

たとえば、パフォーマンスの観点から、ChangeSet内の変更されたエンティティごとに次のコードをトリガーするのではなく、エンティティの主キー列を1回だけ検出することが望ましいでしょう。

var metaTable = context.Mapping.GetTable(entityType);
var key = (PropertyInfo)metaTable.RowType.DataMembers.Single(
                   md => md.IsPrimaryKey).Member;

電話をかける前に:

key.GetValue(entity, null),
4

1 に答える 1

2

はい、のインスタンスは必要ありませんDataContext。タイプのみが必要です。

MappingSource mappingSource = new AttributeMappingSource();
MetaModel mapping = mappingSource.GetModel(typeof(MyDataContext));

ここで私はを使用してAttributeMappingSourceいます、あなたはXmlMappingSourceまたは他の実装を使用することができますMappingSource

于 2009-11-18T14:37:30.600 に答える