gpt4 book ai didi

c# - ASP.Net MVC 5 Entity Framework 选择在哪里?

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:22 24 4
gpt4 key购买 nike

我有 3 个表 Project、Province、ProjProvRel

在我的项目页面中,当我添加数据时,我为每个项目选择了多个省份表示我的省是多选下拉列表。

我插入正在工作的数据我得到插入的 ID 并使用选定的省份 ID 添加到 ProjProvRel

现在在详细 View 中,我想显示我的数据,但无法解决。

这是我的代码:

    // GET: Project/Details/5
public ActionResult Details(int? id)
{
if (id == null)
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);

var mydata = db.Projects.Find(id);
if (mydata == null)
{
return HttpNotFound();
}
var prov_id = from o in db.ProRel where o.ProjectId.Equals(id) select o.ProvinceIds;
foreach (var p_id in prov_id)
{
int[] PIds = new int[] {p_id};
}
var Prov= from c in db.Provinces where c.ID in pIds;
ViewBag.Province = Prov;
return View(mydata);
}

一个问题是如何根据where条件从表中选择数据

var prov_id =  from o in db.ProRel where o.ProjectId.Equals(id) select o.ProvinceIds;

以上查询是否正确?我是 ASP.Net MVC 的新手还吹查询是正确的?

var Prov= from c in db.Provinces where c.ID in pIds; 

我如何从省份表中选择数据,其中 province.ID 在 PIds 中

最佳答案

从 ProRel 中获取 ProjectId 与 id 匹配的行:

var prov_ids = db.ProRel.Where(r => r.ProjectId == id).Select(r => r.ProvinceId);

获取从prov_id可以查到的省份:

var provs = db.Provinces.Where(p => prov_id.Any(i => p.ID == i));

希望您不介意 lambda 风格的 LINQ。

此外,我认为您应该考虑您的变量命名。例如,prov_id 给出了单个 id 的概念,并且由于您隐式声明了类型,否则很难分辨。

关于c# - ASP.Net MVC 5 Entity Framework 选择在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27164375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com