Ниже приведен мой запрос на получение информации из базы данных.С точки зрения производительности, я хочу использовать AsNoTracking
метод для моих сущностей.
var teamrole = (from role in _context.USERROLEs.AsNoTracking()
from team in _context.TEAMROLEs.AsNoTracking().Where(x => x.ID == role.ROLEID).DefaultIfEmpty()
from queue in _context.WORKQUEUEs.AsNoTracking().Where(x => x.ID == team.QUEID).DefaultIfEmpty()
where team.ROLECD == roleCode
select new { team, queue }).ToList();
Вот мой контекст выглядит так:
public partial class MyContext : DbContext
{
public MyContext() : base("MyContext")
{
Configuration.ProxyCreationEnabled = false;
Database.SetInitializer<MyContext>(null);
}
public virtual DbSet<ZTEAMROLE> ZTEAMROLEs { get; set; }
//Some other entities here...
}
Сущности:
[Table("TEAMROLE")]
public partial class TEAMROLE
{
[StringLength(36)]
public string ID { get; set; }
[StringLength(36)]
public string QUEID { get; set; }
//More Properties...
}
Ошибка, возникающая при выполнении запроса teamrole
Метод System.Data.Entity.Infrastructure.DbQuery'1[XXX.Entities.TEAMROLE] AsNoTracking()
, объявленный для типа System.Data.Entity.Infrastructure.DbQuery'1[XXX.Entities.TEAMROLE]
, нельзя вызвать с экземпляром типа System.Data.Entity.Core.Objects.ObjectQuery'1[XXX.Entities.TEAMROLE]