Unable to translate 'Query.All().Where(a => (a.VirtualDateTime.Value.Date == .Now.Date))
public DateTime? VirtualDateTime { get; set; }
using custom compiler:
Expression<func<entity2, datetime?="">> exp = a => a.LinkWithDate.DateField;
cfg.LinqExtensions.Register(typeof(Entity2).GetProperty("VirtualDateTime"), exp);
Code:
namespace ConsoleApplication2
{
using System;
using System.Linq;
using System.Linq.Expressions;
using Xtensive.Orm;
using Xtensive.Orm.Configuration;
[HierarchyRoot]
[Serializable]
public class TestEntity : Entity
{
[Field][Key]
public Guid Id { get; private set; }
[Field]
public DateTime DateField { get; set; }
}
[HierarchyRoot]
[Serializable]
public class Entity2 : Entity
{
[Field][Key]
public Guid Id { get; private set; }
public DateTime? VirtualDateTime { get; set; }
[Field]
public TestEntity LinkWithDate { get; set; }
}
public class ConsoleApplication2
{
public static void Main()
{
var connectionInfo = new ConnectionInfo("sqlserver", "Data Source=.; Initial Catalog=TestDb; Integrated Security=True;");
var cfg = new DomainConfiguration(connectionInfo);
cfg.UpgradeMode = DomainUpgradeMode.Recreate;
cfg.Types.Register(typeof(TestEntity).Assembly);
Expression<Func<Entity2, DateTime?>> exp = a => a.LinkWithDate.DateField;
cfg.LinqExtensions.Register(typeof(Entity2).GetProperty("VirtualDateTime"), exp);
var domain = Domain.Build(cfg);
using (var s = domain.OpenSession())
{
using (s.Activate())
{
using (var tr = s.OpenTransaction())
{
s.Query.All<Entity2>().Where(a => a.VirtualDateTime.Value.Date == DateTime.Now.Date).ToArray();
tr.Complete();
}
}
}
}
}
}
asked
Mar 20 '13 at 06:55
pil0t
207●57●57●63
Hello pil0t, we will investigate your problem. Thanks for the report
The problem is confirmed