gpt4 book ai didi

c# - 在第二个连接中使用 IQueryable

转载 作者:行者123 更新时间:2023-11-30 15:33:32 26 4
gpt4 key购买 nike

我有一个包含多个连接的查询。我的第一个查询运行完美,但是当我想在我的第二个连接中使用此结果 (IQueryable) 时,出现错误。如何在我的第二个查询中使用我的第一个结果对象?

谢谢!

ISession session = NHibernateSessionManager.Instance.GetSession(SessionFactoryConfigPath);

IQueryable<Approval> approvals = session.Query<Approval>();
IQueryable<Ticket> tickets = session.Query<Ticket>()
.Where(t => t.Canceled == null
&& t.IsNotified == null);
IQueryable<Notification> notifications = session.Query<Notification>();

var qry = approvals.Join(tickets,
a => a.TicketID,
t => t.ID,
(a, t) => new { Ticket = t, Approval = a });

//here I want to use my IQueryable<Anonymous> object to create my second join.
qry = notifications.Join(qry,
n => n.DatabaseID,
anon => anon.Ticket.DatabaseID,
(n, anon) =>
new {Ticket = anon.Ticket,
Approval = anon.Approval,
Notification = n});

最佳答案

您正在影响第二个 Join...qry 的结果,它们的类型不同。

使用不同的变量:

var result = notifications.Join(qry, 
n => n.DatabaseID,
anon => anon.Ticket.DatabaseID,
(n, anon) =>
new {Ticket = anon.Ticket,
Approval = anon.Approval,
Notification = n});

关于c# - 在第二个连接中使用 IQueryable<AnonymousType>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17428577/

26 4 0