ユーザーと曲のテーブルが2つあります。私は両方のUserID列にJOINし、ビューにリストを返す必要があります。私は匿名型を書いたが、私はに関するエラーを取得しています試してみました:LINQ to Entitiesと2つのテーブルを結合する
「はパラメータなしのコンストラクタと初期化子はエンティティへのLINQでサポートされています。」
どのようにしてJOINしてリストに戻ることができますか?
public class User
{
[Key]
public virtual Guid UserId { get; set; }
[Required]
public virtual String Username { get; set; }
[Required]
public virtual String Email { get; set; }
[Required, DataType(DataType.Password)]
public virtual String Password { get; set; }
}
public class Song
{
public int SongId { get; set; }
public virtual Guid UserId { get; set; }
public string SongTitle { get; set; }
}
私はここにこのような方法を実装しようとした:
What is the return type of my linq query?
私がなってしまったクエリがあった。
var query = from u in db.Users
join s in db.Songs
on u.UserId equals s.UserId
select new HomeSongList(s.SongId, s.UserId, u.Username);
return View(query.ToList());
あなたが試したことを示すことができますか? – BrokenGlass
これは最初のコードのようです:なぜ、あなたは "public virtual guid UserID"を持っていて、 "public virtual user"ではないのですか?私はFKがバーチャルでなければならないとは思わない、参考プロパティは(怠惰な世界で) –
良いキャッチ、私は気付かなかった。 – user547794