我要从第一个表获取客户姓名,然后从别的表获取客户的住址,电话等信息,,这个代码要怎么写,****
新建一个类用于存储姓名和地址之类的信息【就是要读取的所有表的字段放这个类里面】,然后linq select new DataClassName填充下数据就行了,而不是只返回单表。有帮助请点个采纳【本回答右上角】,谢谢
DataClassName.cs
public class DataClassName{
public int Id{get;set;}
public string Name{get;set;}
public string Address{get;set;}
//....其他要读取的字段
}
ViewBag.CustomerInfo=from a in _context.CustomerInfo
join b in _context.别的表 on a.和别的表关联的字段名 equals b.和CustomerInfo关联的字段名
select new DataClassName{ Id = a.Id, Name= a.Name, Address=b.Address.....其他字段的填充 });
如果是mvc,在razor页面model。core不太清楚,不过按照你的方式设置ViewBag目测也没有问题
@model IEnumerable<DataClassName>
就可使用@foreach(var r in Model)遍历去数据了,r为DataClassName实例。
定义两个类,分别映射对应的数据库,在一个类里面引入另一个类的属性,查询的时候sql语句是左连接查询所有