私は、次のEntity Framework - x型の定数を作成できません。このコンテキストでは、プリミティブ型のみがサポートされています。
エンジニアのモデルがあります:
public class engineers
{
public Guid? Guid { get; set; }
public string Name { get; set; }
}
私は正しい内容とエンジニアのリストを埋める:
List<engineers> listeng = new List<engineers>();
listeng.Add(new engineers { Name = profile.FirstName + " " + profile.LastName, Guid = GuidEngineer });
これまでのところは良いです。
どのように私は以下のENGエントリにエンジニア名を引くことができます私の質問:
Unable to create a constant value of type 'Helpdesk2.ViewModel.engineers'. Only primitive types ('such as Int32, String, and Guid') are supported in this context."}
:私も、私は取得していますエラーがある
var tickets = from o in new HelpdeskEntities().Tickets.Where(t => t.TicketState.State == "Open")
select new AjaxTickets
{
TicketID = o.TicketID,
TicketSubject = o.TicketSubject,
ClientCompanyName = o.ClientCompany.ClientCompanyName,
DateOpened = o.DateOpened,
**eng** = list.Where(x => x.Guid == o.EngineerID).Select(x => x.Name }).FirstOrDefault()
};
を試してみた
var tickets = from o in new HelpdeskEntities().Tickets.Where(t => t.TicketState.State == "Open")
select new AjaxTickets
{
TicketID = o.TicketID,
TicketSubject = o.TicketSubject,
ClientCompanyName = o.ClientCompany.ClientCompanyName,
DateOpened = o.DateOpened,
**eng** = list.Where(x => x.Guid == o.EngineerID).Select(x => new engineers {Guid = x.Guid, Name=x.Name }).FirstOrDefault().Name
};
は、
エンジニアの名前を選択するだけでは分かりませんが、わからないことはありますか。事前
Linqからエンティティへのクエリで 'list'を使用することはできません。データベースに存在するデータのみ使用できます。 linq-to-objectsとlinq-to-entitiesは、EFがSQLへの変換方法を知らないため、任意に組み合わせることはできません。 @ harriyottの回避策を使用し、データベースからチケットをロードした後に 'Name'を設定してください。 –