我运行了一个.Net Core项目,我正在使用两个不同的数据库(一个MySQL数据库和一个PostGreSQL数据库)。我设置了它们,它们都在我当前的控制器中实现 - 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数据库,我需要使用它来获取给定tripCount
的行程(Did
)。但是对于MySQL数据库,我需要使用Did
来获取设备的alias
。
当我尝试使用TripController中的上述代码来获取a的别名时,在我的视图中显示它时会得到一个奇怪的值:
Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[System.String]
我使用一个名为TripViewModel的viewModel,我将其传递给我的View:
public class TripViewModel
{
public int TripCount {get;set;}
public long DidElement {get;set;}
public string Alias {get;set;}
}
如何在我的视图中写出正确的Alias
?
我尝试了很多方法,但却没有产生我需要的结果。