На моем рабочем месте мы совместно используем проект, который использует Entity Framework 6.0 для операций с базой данных.Entity Framework 6 генерирует неправильный код контекста
В репозитории я вижу изменения в файле 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;
Мы оба используют EF 6.0 через NuGet.
Когда я проверяю свойства EntityFramework DLL, я получаю это:
Что могло привести к этому?
Обновите файлы EDMX (или, скорее, .tt)] (https://msdn.microsoft.com/en-us/data/upgradeef6.aspx). – CodeCaster