【发布时间】:2017-05-30 13:47:49
【问题描述】:
我有一个 .Net Core 项目正在运行,我正在使用 2 个不同的数据库(一个 MySQL 数据库和一个 PostGreSQL 数据库)。我已经设置了它们,它们都在我当前的控制器中实现 - TripController.cs
TripController.cs
public IActionResult Index()
{
var viewModels = new List<TripViewModel>();
var Dids = _tripContext.Dids.ToList();
foreach (var Did in Dids)
{
IQueryAble<Tripmetadata> trips = _tripContext.Tripmetadata.Where(t => t.Did == Did.Did);
var tripsCount = trips.Count()
//--------------------- I believe error is here ---------------------
var alias = _context.Devices.Where(d => (long.Parse(d.Did)) == Did.Did).Select(d => d.Alias).ToString();
// ------------------------------------------------------------------
var viewModel = new TripViewModel
{
TripCount = tripsCount,
didElement = Did,
Alias = alias
};
viewModels.Add(viewModel)
}
return View(viewModels);
}
_context 是 MySQL 数据库,_tripContext 是 PostGreSQL 数据库。
两个数据库都有一个名为Did 的字段,我需要使用它。对于 PostGreSQL 数据库,我需要使用它来获取给定 Did 的行程量 (tripCount)。但是对于 MySQL 数据库,我需要使用Did 来获取设备的alias。
当我尝试使用 TripController 中的上述代码来获取别名时,我在视图中显示它时是否得到了一个奇怪的值:
Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[System.String]
我使用了一个名为 TripViewModel 的视图模型,并将其传递给我的视图:
TripViewModel.cs
public class TripViewModel
{
public int TripCount {get;set;}
public long DidElement {get;set;}
public string Alias {get;set;}
}
如何让它在我看来写正确的Alias?
我尝试了很多方法,但都没有达到我需要的结果。
【问题讨论】:
标签: c# string entity-framework .net-core string-formatting