データ アクセスに Dapper を使用しようとしています (ASP.NET MVC3 FWIW で)。次のような T-SQL ビュー (SQL Server 内) があります。
SELECT s.*, c.CompanyId AS BreakPoint c.Name AS CompanyName
FROM tblStaff AS s
INNER JOIN tblCompanies AS c ON c.CompanyId = s.CompanyId
とてもシンプルです。基本的に、それぞれが 1 つの会社を持つスタッフのリストです。
私が抱えている問題は、このクエリの出力を POCO にマップしようとしていることですが、ビューの各フィールドは一意でなければならないため (つまり、tblStaff に既に存在する Name ではなく CompanyName)、POCO へのマッピング動作していません。
コードは次のとおりです。
var sql = @"select * from qryStaff";
var people = _db.Query<Person, Company, Person>(sql, (person, company) => {person.Company = company; return person;}, splitOn: "BreakPoint");
このパズルを解く方法について何かアドバイスはありますか? 私は現在、どのように進歩するかについて困惑しているので、ビューのやり方を変えることにオープンです。