neb*_*ula 6 lambda entity-framework code-first linq-to-sql
我有以下课程.我有一个varDescription类的对象.我想var使用Linq to Sql或Lambda表达式选择与对象中提供的客户端相关的Balance .如何连接这些表以从帐户表中获取余额?
public class Description
{
public int DescriptionID { get; set; }
// Attributes
public int ClientID { get; set; }
[ForeignKey("ClientID")]
public virtual Client Client { get; set; }
}
public class Client
{
public int ClientID { get; set; }
// Attributes
public int UserID { get; set; }
[ForeignKey("UserID")]
public virtual User User { get; set; }
}
public class User
{
public int UserID { get; set; }
// Attributes
}
public class Account
{
public int AccountID { get; set; }
[Required, Column("Balance"), Display(Name = "Account Balance")]
public double Balance { get; set; }
public int UserID { get; set; }
[ForeignKey("UserID")]
public virtual User User { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Sla*_*uma 12
你可以试试这个:
var balance = (from a in context.Accounts
join c in context.Clients on a.UserID equals c.UserID
where c.ClientID == yourDescriptionObject.ClientID
select a.Balance)
.SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)
或者 - 如果你只有DescriptionID:
var balance = (from a in context.Accounts
join c in context.Clients on a.UserID equals c.UserID
join d in context.Descriptions on c.ClientID equals d.ClientID
where d.DescriptionID == yourDescriptionID
select a.Balance)
.SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)
(或FirstOrDefault()或ToList()或Sum()?因为你的模型将允许客户端/描述相关的多个帐户...)