English 中文(简体)
实体框架4.3 可处理的数据库启动
原标题:Disable Database Initialization for Entity Framework 4.3

I m使用EF 4.3.1,我有100+环境,驱动1个基体。 在所有情况下,我都希望建立数据库,这是不可行的。

可否为实体框架设定违约行为?

预 收

最佳回答
//Gather all the DbContexts types in the assembly
var allDbContextsTypes = Assembly.GetExecutingAssembly().GetTypes().Where(t => t.BaseType == (typeof(DbContext))).ToList();

foreach (Type dbContextType in allDbContextsTypes)
{
    //Get the SetInitializerMethod
    MethodInfo initializerMethod = typeof(Database).GetMethod("SetInitializer");

    //Make it generic! (Oh yeah)
    MethodInfo dbContextInitializerMethod = initializerMethod.MakeGenericMethod(dbContextType);

    //Invoke the method with null initializer
    dbContextInitializerMethod.Invoke(null, new object[]{null});
}

In the end, it gives something like : Database.SetInitializer<YourDbContext>(null); where YourDbContext is the current dbContext type in your loop

问题回答

<代码>Database.SetInitializer<TContext>是你之后的。 这种做法也是无效的,应当加以区别。

http://msdn.microsoft.com/en-us/library/gg679461(v=vs.103)。

您可更改以下表格:.config文档,以取代数据库的初始化。 这是根据具体情况进行的,但可能是为了你的基本情况。

<contexts>
  <context type=" Blogging.BlogContext, MyAssembly" disableDatabaseInitialization="true" />
</contexts>

http://blogs.msdn.com/b/adonet/archive/2007/01/12/ef-4-3-configuration-file- establishings.aspx“rel=“nofollow”>。 EF4.3 配置文件





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签