linq - 通过linq从一个类中获取列表以填充其他类中的taxtbox
问题描述
如何通过 LINQ 从一个表中获取特殊的 2 个属性到另一个表(以及相关文本框中的位置)?
public string srcht(ACTIVITIES sn)
{
db db = new db();
var q = (from i in db.costumers.Where(i => i.id== sn.id)select i.name).ToList();
return q.Single();
}
public string srcht(ACTIVITIES sn)
{
db db = new db();
var q = (from i in db.costumers.Where(i => i.id== sn.id)select i.family).ToList();
return q.Single();
}
我做了两次 linq 以在其他表中按姓名和家庭填写 2 个文本框。我可以通过一个 LINQ 来完成吗?
解决方案
所以你有一个in Activity
sn,并且你想要所有等于 的Name
和。Family
Customers
Id
sn.Id
var result = db.Customers.Where(customer => customer.Id == sn.Id)
.Select(customer => new
{
Name = customer.Name,
Family = customer.Family,
});
换句话说:在数据库中,从客户表中,仅保留属性 ID 的值等于 sn.Id 值的客户。从剩余的客户中选择姓名和家庭的值。
如果您希望最多只有一个这样的客户(所以如果 Id 是主键),只需添加:
.FirstOrDefault();
如果您认为会有几个这样的客户,请添加:
.ToList();
结果将是一个对象,或具有两个属性的某些匿名类型的对象列表:名称和家庭。
如果您想将 Name 和 Family 混合在一个字符串序列中,我对此表示怀疑,请考虑将 Name 和 Family 放入一个数组中。结果是字符串数组的序列。要使其成为一个字符串数组,请使用 SelectMany:
var result = db.Customers
.Where(customer => customer.Id == sn.Id)
.Select(customer => new string[]
{
customer.Name,
customer.Family,
})
.SelectMany(customer => customer);
推荐阅读
- ios - 我有一个名为 Fuser.swift 的“firebase 用户”的 swift 文件,其中有一个名为 FUser 的类包含我想保存在 firebase 中的所有信息
- python - Beam/Google Cloud Dataflow ReadFromPubsub 缺少数据
- java - Hashcode() 在序列化中是否有任何作用?
- angular - Angular:“未找到 ng 命令,” ng 设置未持续
- python - 如何在 pythonanywhere 中向 MySQL 添加 SUPER 特权?
- python - 将字节解码为字符串 Python 3 以获取 TIF 元数据
- mysql - SQL 查询。我怎样才能组合这两个表?
- coq - 在经过验证的软件工具链中,我如何指定一些不是函数体的 Clight,而我是从 Coq 中生成的?
- php - 如何将图像上传到父目录中的文件夹
- mongodb - 从 MongoDB 键值对中选择键