OnModelCreating
でクエリを実行する方法はありますか?Entity Frameworkでクエリを実行する方法OnModelCreating
私はクエリを実行し、それに基づいてエンティティの列を無視しようとしています。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
var d = this.Database.SqlQuery<int?>(@"select 1 from sys.columns where Name = N'columnname' and Object_ID = Object_ID(N'tablename')").SingleOrDefault();
if(d == null)
{
depEntity.Ignore(d => d.colmnname);
}
}
私は、次のエラーを取得しています:
The context cannot be used while the model is being created. This exception may be thrown if the context is used inside the OnModelCreating method or if the same context instance is accessed by multiple threads concurrently. Note that instance members of DbContext and related classes are not guaranteed to be thread safe. (See inner exception for details.)
System.InvalidOperationException: The context cannot be used while the model is being created. This exception may be thrown if the context is used inside the OnModelCreating method or if the same context instance is accessed by multiple threads concurrently. Note that instance members of DbContext and related classes are not guaranteed to be thread safe.
コンテキスト**の部分は、あなたが理解していない**使用できませんか?エラーメッセージには、モデルが作成されている間(全体の 'OnModelCreating'メソッド内で)、コンテキスト**を使用することはできません**。 –