Я пытаюсь получить конфигурацию автоматической декомпиляции для DelegateDecompiler работать, как показано здесь: http://daveaglick.com/posts/computed-properties-and-entity-framework Но он не работает :(Невозможно получить конфигурацию ShouldDecompile в DelegateDecompiler работать
Не уверен, что я «м делают неправильно.
Вот класс, который имеет вычисленное значение.
public class Person
{
public int Id { get; set; }
public string First { get; set; }
public string Last { get; set; }
[NotMapped]
[Computed]
public string Full { get { return First + " " + Last; } }
}
Это конфигурация.
public class DelegateDecompilerConfiguration : DefaultConfiguration
{
public override bool ShouldDecompile(MemberInfo memberInfo)
{
// Automatically decompile all NotMapped members
return base.ShouldDecompile(memberInfo) || memberInfo.GetCustomAttributes(typeof(NotMappedAttribute), true).Length > 0;
}
}
Я также попытался удалить [NotMapped]
, а затем сменил typeof(NotMappedAttribute)
на typeof(ComputedAttribute)
в вышеуказанной конфигурации.
Тогда я зарегистрировать его как так
DelegateDecompiler.Configuration.Configure(new DelegateDecompilerConfiguration());
В Startup.cs. Я также попытался поместить его прямо в свое действие.
public ActionResult Test()
{
DelegateDecompiler.Configuration.Configure(new DelegateDecompilerConfiguration());
var ctx = new ApplicationDbContext();
var result = ctx.People.Where(x => x.Full.Contains("foo bar")).ToList();
return View();
}
Ни работа :(
Если я ставлю .Decompile()
на запрос, то он работает, как ожидалось. Так DelegateDecompiler работает, но не конфигурацию.