在我的工作场所,我们共享一个使用Entity Framework 6.0进行数据库操作的项目。
在存储库中,我看到MyModel.Context.cs
文件中的修改(添加了一个函数)。
从这个使用块:
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Linq;
改为:
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.Core.Objects;
using System.Data.Objects.DataClasses;
using System.Linq;
[EdmFunction("MyEntities", "DbFunction1")]
public virtual IQueryable<DbFunction1_Result> DbFunction1(Nullable<System.Guid> id)
{
//some code
return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<DbFunction1_Result>("[MyEntities].[DbFunction1](@id)", parameter);
}
我更新了我的工作副本并进行了编译。
但是,每当我使用Update model from database
时,我的代码都会更改为:
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Linq;
我们都通过NuGet使用EF 6.0。
当我检查EntityFramework dll的属性时,我得到了这个:
是什么导致这种情况?
答案 0 :(得分:2)
因为您需要编辑.tt
文件。
可能MyModel.Context.tt
是为您生成MyModel.Context.cs的模板文件,每当您在Update model from database
文件中选择.edmx
时,它都会使用T4生成它。< / p>