小编Hol*_*ver的帖子

EF Core 是否可以在针对具有转换的属性的查询中调用方法?

假设我想增强一个模型,例如

public class Person
{
    public string Name { get; set; }
    public string Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这样我就可以使用一个复杂的对象Address

public class Person
{
    public string Name { get; set; }
    public Address Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

EF Core 非常好地允许使用以下功能HasConversion

modelBuilder.Entity<Person>
            .Property(p => p.Address)
            .HasConversion(addr => addr.ToString(), str => Address.FromString(str));
Run Code Online (Sandbox Code Playgroud)

我什至测试过,这适用于带有==运算符的查询:以下内容将成功转换为 SQL

var whiteHouse = Address.Parse("1600 Pennsylvania Avenue NW");
var matches = from person in people 
              where person.Address == whiteHouse 
              select …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server entity-framework entity-framework-core

8
推荐指数
1
解决办法
1238
查看次数