私は.Netコアプロジェクトを実行しており、2つの異なるデータベース(MySQLデータベースとPostGreSQLデータベース)を利用しています。私はそれらを設定していると、彼らは両方とも私の現在のコントローラに実装されている - TripController.cs.Net 2つの異なるデータベースからのコアクエリデータ
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のDBであると_tripContext
は、PostgreSQLのDBです。
両方のデータベースには、使用する必要があるDid
というフィールドがあります。 PostGreSQLデータベースの場合、私はそれを使って与えられたDid
の旅行量(tripCount
)を取得する必要があります。しかし、MySQLデータベースの場合は、Did
を使用してデバイスのalias
を取得する必要があります。
私は、私の見解では、それを表示するとき、私は奇妙な価値を手に入れたのエイリアスを取得するためにTripControllerから上記のコードを使用しようとすると:ここに見られるように
Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[System.String]
私は私のビューに渡すTripViewModel呼ばViewModelに使用します。
TripViewModel.csを
public class TripViewModel
{
public int TripCount {get;set;}
public long DidElement {get;set;}
public string Alias {get;set;}
}
私はそれをどのように私の見解で右Alias
と書くか?
私は必要な結果を得られない多数の方法を試しました。