Я работаю над проектом, который использует Entity Framework Cor 2.1 и Aspnet Core Web API.
У меня есть следующий ValueObject
public class Email
{
private string _value;
private Email(string value) => _value = value;
public static Email Create(string email)
{
//... code hidden for clarity
return new Email(email);
}
// I have overridden equality operators to check equality by the _value property
// and also ToString to return _value
}
У меня есть объект значения, настроенный как принадлежащий тип в объекте Person.
public class Person
{
//... code hidden for clarity
public virtual Email Email {get; private set;}
}
Когда я запрашиваю базу данных с произнесением
_context.People.Where(person => person.Email == Email.Create("example@example.com");
На консоли появляется следующее предупреждение.
The LINQ expression 'where ([person.Email] == __email_0)' could not be translated and will be evaluated locally.
У меня есть только несколько записей в таблице Person, но повлияет ли это на производительность, когда в нем будет больше записей? и есть ли обходной путь для этого.