【发布时间】:2019-03-28 22:40:52
【问题描述】:
我的表 ClinicalAsset 表不会显示所有结果 + 与 ClinicalAssetID 匹配的临床PAT 表中的任何匹配结果。
我有一个在 ClinicalPAT 表中的结果与 ClinicalAsset 表匹配,但仅显示在 MVC 视图中,而不是 ClinicalAsset 表中的 40 个结果
这是我尝试过的:
var clinicalAssets = (from PATasset in db.ClinicalPATs
join s in db.ClinicalAssets on PATasset.ClinicalAssetID equals s.ClinicalAssetID into output
from j in output.DefaultIfEmpty()
select new ClinicalASSPATVM
{
ClinicalAssetID = PATasset.ClinicalAssetID,
ProductName = j.ProductName,
InspectionDocumnets = PATasset.InspectionDocumnets,
});
var clinicalAssets = (from PATasset in db.ClinicalPATs
join s in db.ClinicalAssets on PATasset.ClinicalAssetID equals s.ClinicalAssetID into output
from j in output.DefaultIfEmpty(new ClinicalAsset())
select new ClinicalASSPATVM
{
ClinicalAssetID = PATasset.ClinicalAssetID,
ProductName = j.ProductName,
InspectionDocumnets = PATasset.InspectionDocumnets,
});
var clinicalAssets = (from PATasset in db.ClinicalPATs
join s in db.ClinicalAssets on PATasset.ClinicalAssetID equals s.ClinicalAssetID
select new ClinicalASSPATVM
{
ClinicalAssetID = PATasset.ClinicalAssetID,
ProductName = s.ProductName,
Inspect
var clinicalAssets = from PATasset in db.ClinicalPATs
join s in db.ClinicalAssets on PATasset.ClinicalAssetID equals s.ClinicalAssetID
select new ClinicalASSPATVM
{
ClinicalAssetID = PATasset.ClinicalAssetID,
ProductName = s.ProductName,
InspectionDocumnets = PATasset.InspectionDocumnets,
};
var clinicalAssets = from s in db.ClinicalAssets
join PATasset in db.ClinicalPATs on s.ClinicalAssetID equals PATasset.ClinicalAssetID
select new ClinicalASSPATVM
{
ClinicalAssetID = PATasset.ClinicalAssetID,
ProductName = s.ProductName,
InspectionDocumnets = PATasset.InspectionDocumnets,
};
var clinicalAssets = (from s in db.ClinicalAssets
join cp in db.ClinicalPATs on s.ClinicalAssetID equals cp.ClinicalAssetID
select new ClinicalASSPATVM
{
ClinicalAssetID = cp.ClinicalAssetID,
ProductName = s.ProductName,
InspectionDocumnets = cp.InspectionDocumnets,
});
这是我的整体控制器:
public ActionResult DashBoard(string sortOrder, string currentFilter,string searchString, int? page)
{
ViewBag.CurrentSort = sortOrder;
ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";
if (searchString != null)
{
page = 1;
}
else
{
searchString = currentFilter;
}
ViewBag.CurrentFilter = searchString;
var clinicalAssets = (from s in db.ClinicalAssets
join cp in db.ClinicalPATs on s.ClinicalAssetID equals cp.ClinicalAssetID
select new ClinicalASSPATVM
{
ClinicalAssetID = cp.ClinicalAssetID,
ProductName = s.ProductName,
InspectionDocumnets = cp.InspectionDocumnets,
});
if (!String.IsNullOrEmpty(searchString))
{
clinicalAssets = clinicalAssets.Where(s => s.SerialNo.Contains(searchString)
|| s.PoNo.Contains(searchString));
}
switch (sortOrder)
{
case "name_desc":
clinicalAssets = clinicalAssets.OrderByDescending(s => s.PoNo);
break;
case "Date":
clinicalAssets = clinicalAssets.OrderBy(s => s.PurchaseDate);
break;
default:
clinicalAssets = clinicalAssets.OrderBy(s => s.ClinicalAssetID);
break;
}
int pageSize = 10;
int pageNumber = (page ?? 1);
return View(clinicalAssets.ToPagedList(pageNumber, pageSize));
}
````
【问题讨论】:
标签: c# entity-framework-6 linq-to-entities