検索したい次のエンティティがあります.2つのフィールドを組み合わせて正しい入力を取得するにはどうすればよいですか..
このようなもの
var personnels = dbContext.Set<Personnel>()
.Where(p =>
(p.FirstName + ' ' + p.Surname).Contains("John Smith")
);
私がそれをするとき、それは言います
タイプ 'System.Object' の定数値を作成できません。このコンテキストでは、プリミティブ型または列挙型のみがサポートされています。
これは私が修正しようとしているコードです
var personnels = dbContext.Set<Domain.Entities.App.Personnel>().Where(p =>
((p.GivenName + p.Surname).Contains(criteria.PersonnelName) || String.IsNullOrEmpty(criteria.PersonnelName))
&& (p.PersonnelRoleId == criteria.PersonnelRoleId || (criteria.PersonnelRoleId ?? 0) == 0)
&& (((criteria.ActiveOnly && (p.ActiveFlag)) || (criteria.ActiveOnly == false)))).AsEnumerable();
コードは機能しますが、条件が john smith ではなく johnsmith である場合にのみ機能します。
だからラインはこれです
(p.GivenName + p.Surname).Contains(criteria.PersonnelName)
どうすればそこにスペースを確保できますか
(p.GivenName + ' ' + p.Surname).Contains(criteria.PersonnelName)
動作しません