私はリストを返す次のクエリ実行している:私はこのように見て同じ形式でviemodelを持ってRoleViewModelのリストで匿名リストを変換するには?私のアクションメソッドで
var list = db.WorkRoles.
Join(db.WorkRolesUsersDetails,
o => o.WorkRoleId, od => od.WorkRoleId,
(o, od) => new
{
WorkRoleId = o.WorkRoleId,
RoleName = o.RoleName,
RoleDescription = o.RoleDescription,
CompanyId = o.CompanyId,
WRUDId = od.WRUDId,
UserDetailsId = od.UserDetailsId,
FocusStart = od.FocusStart,
FocusEnd = od.FocusEnd
}).ToList();
を:変換するための最良の方法です
public class RoleViewModel
{
public RoleViewModel(int workRoleId, string roleName, string roleDescription, int companyId, int wRUDId, string userDetailsId, DateTime focusStart, DateTime focusEnd)
{
WorkRoleId = workRoleId;
RoleName = roleName;
RoleDescription = roleDescription;
CompanyId = companyId;
WRUDId = wRUDId;
UserDetailsId = userDetailsId;
FocusStart = focusStart;
FocusEnd = focusEnd;
}
int WorkRoleId { get; set; }
string RoleName { get; set; }
string RoleDescription { get; set; }
int CompanyId { get; set; }
int WRUDId { get; set; }
string UserDetailsId { get; set; }
DateTime FocusStart { get; set; }
DateTime FocusEnd { get; set; }
}
何私のviewmodelのリストへの私のクエリの結果?
あなたはそれ最初の場所でのジェネリックリスト作っている理由はありますか?タイプの例外を ':私は(ここでは答えの1で提案されている)、それは私にこの例外を与えることをしようとすると、新しいオブジェクト '=>新しいRoleViewModel(){プロパティの割り当て}' – JaredStroeb
@JaredStroebに直接選択することができるはずですSystem.NotSupportedException」をEntityFramework.SqlServer.dllで発生したが、ユーザーコードで処理されなかった 追加情報:のみパラメータなしのコンストラクタと初期化子はエンティティへのLINQでサポートされています。 –
はい私は、パラメータなしのコンストラクタの問題に遭遇してきたが、それはプロパティの割り当てに続いて、一般的なコンストラクタを受け入れる必要があります。 NotSupportedExceptionに内部例外または詳細情報がありますか? @Michaelの答えも同様に例外をスローしますか? – JaredStroeb