假设我想增强一个模型,例如
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)