根据MSDN的几篇文章我知道你只需添加:
this.Configuration.LazyLoadingEnabled = false;
this.Configuration.ProxyCreationEnabled = false;
在EDMX文件附带的context.cs文件中或编辑context.tt文件,以便在重新生成edmx文件时添加这些行。
但是,我注意到当数据库字段发生更改(特别是删除它们),并且替换了ADO.NET文件时,必须重新进行更改。当我必须重新创建ADO.NET文件时,是否有可以永久添加要包含在context.cs文件中的行?
我确实注意到这篇关于SO的文章接近这个问题,但没有附近的地方:
答案 0 :(得分:5)
EDMX生成的类是partial,因此您可以在此类中的另一个文件中编写代码。
因此,您将创建另一个文件及其内容,您将创建"创建"像那样的班级:
namespace Same.Namespace.FromOtherContextClass
{
public partial class Context : DbContext
{
public Context()
{
this.Configuration.LazyLoadingEnabled = false;
this.Configuration.ProxyCreationEnabled = false;
}
}
}
请记住,此文件中必须具有相同的命名空间。
答案 1 :(得分:-3)
@AlbertoMonterio有正确的想法。
这是有效的代码:
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using CorporateWeb.API.Model;
namespace CorporateWeb.API.DAL
{
public partial class context : DbContext
{
public context() : base("name=Corporate_WebEntities")
{
this.Configuration.LazyLoadingEnabled = false;
this.Configuration.ProxyCreationEnabled = false;
}
}
}