ここで最初に検索してみましたが、おそらくすでにそこにあるにもかかわらず、回答が見つかりませんでした。インポートされたクラスをSQLテーブルから型キャストする方法
私はLINQを使用して、プロジェクト用に作成しているログインシステム用のdbテーブルからユーザーを取得しています。
具体的なコードは次のとおりです。
class User
{
EntitySet<Donation> donationList = new EntitySet<Donation>();
EntityRef<Totals> totals = new EntityRef<Totals>();
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int UserId { get; set; }
[Column]
public string Firstname {get; set;}
[Column]
public string Lastname { get; set; }
[Column]
public string Streetname { get; set; }
[Column]
public string City { get; set; }
[Column]
public int ZipCode { get; set; }
[Column]
public int CPRNumber { get; set; }
[Column]
public string Login { get; set; }
[Column]
public string Password { get; set; }
[Column]
public string Bloodtype { get; set; }
[Column]
public string Email { get; set; }
[Column]
public int PhoneNumber { get; set; }
[Column]
public DateTime NextPlasmaDonation { get; set; }
[Column]
public DateTime NextWholeBloodDonation { get; set; }
[Association(Name = "User_Donation", IsForeignKey = true, Storage="donationList", ThisKey = "UserId", OtherKey = "UserId")]
public ICollection<Donation> DonationList
{
get { return this.donationList; }
set { this.donationList.Assign(value); }
}
}
:
public User GetUser(string username)
{
var user = from x in db.User
where x.Login == username
select x;
return (User)user;
}
問題は明らかに、私は(ユーザー)として出力を型キャストすることは許されないのです
Userクラスは次のように定義されていることです
これを解決するために必要な情報はもうありませんか?
編集:与えられた特定のエラーは、次のとおりです。
型「System.InvalidCastExceptionの」の未処理の例外はProjektBlodbank.exe
で発生した追加情報:型「System.Data.Linqのオブジェクト。 DataQuery`1 [ProjektBlodbank.Business.User] 'は、' ProjektBlodbank.Business.User 'タイプに変換することはできません。
明らかに、 'db.User'に含まれる型はあなたが示した' User'クラスではありません。その代わりにどんなタイプですか? –
db.Userは上記の列を含む私のdbのテーブルです... – Dunark
ああ、心配しないで、MarkoとWaznerが正しいです。 –