我的数据库中有两个表 - >活动和客户。每个Activity都有一个CustomerId,但是数据库的设计者没有添加任何外键约束。
我希望能够写
activity.Customer.Name //Returns name of the customer
所以我需要一种方法告诉LINQ to SQL将Activity对象中的CustomerId映射到正确的Customer对象。
我当然可以这样做:
var customers = db.Customers;
var activities = db.Activities;
然后手动将它们相互映射,但那会很痛苦......
这可能吗?遗憾的是,添加外键约束不是一种选择。
答案 0 :(得分:0)
你可以写下两行。
var customer = db.Customers.First(c => c.Id == activity.CustomerId);
var customerName = customer.Name;
进一步编写扩展方法
static Customer GetCustomer(this Activity)
{
return db.Customers.First(c => c.Id == activity.CustomerId);
}
并使用
activity.GetCustomer().Name;