none
EF的数据表结构更新问题 RRS feed

  • 问题

  • 1、EF 6最新版本

    2、修改了数据表结构(Entity的类型结构)

    3、通过add-migration添加了移植代码信息

    4、使用update-database出现超时。

    5、数据库中的数据量很大,多的超过20万。

    请问:该如何解决?谢谢。

    2015年4月16日 4:17

答案

  • 你好:

    可以尝试一下CommandTimeout属性:

    https://msdn.microsoft.com/en-us/library/system.data.entity.migrations.dbmigrationsconfiguration.commandtimeout?f=255&MSPPError=-2147217396

    另外也可以将超时时间设置到配置文件连接字符串中:

    https://msdn.microsoft.com/en-us/library/bb896291.aspx

    <connectionStrings>
    <add name="AdventureWorksEntities"
    connectionString="metadata=.\AdventureWorks.csdl|.\AdventureWorks.ssdl|.\AdventureWorks.msl;
    provider=System.Data.SqlClient;provider connection string='Data Source=localhost;
    Initial Catalog=AdventureWorks;Integrated Security=True;Connection Timeout=60;
    multipleactiveresultsets=true'" providerName="System.Data.EntityClient" />
    </connectionStrings>
    

    或者在DbContext中设定:

    public class Model1 : DbContext
        {
            public Model1()
                : base("name=Model1")
            {
                ((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 180;
            }
            public virtual DbSet<MyEntity> MyEntities { get; set; }
        }


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年4月17日 6:43
    版主