我无法使这个类可枚举
本文关键字:枚举 | 更新日期: 2023-09-27 18:20:34
我在数据库中有一个名为Personel的表,字段名称为:Id、Name、LastName、Salary和Position。我创建了一个类,它扩展了DataContext
,然后创建了具有属性的列。然后我在这个类中尝试了itarate。但下面出现了这个异常。字段名称和值是正确的我不知道这个错误是什么
指定的强制转换无效。
这是我的
public class PersonelDbContext:DataContext
{
public Table<Personel> Personel;
public PersonelDbContext()
: base("server=.''sqlexpress;database=Project;User Id=sa;Password=1")
{
}
}
[Table(Name="Personel")]
public class Personel {
private int _id;
private string _name;
private string _lastname;
private int _salary;
private string _position;
[Column(Name="Id",Storage="_id",DbType="Int not null",IsPrimaryKey=true,IsDbGenerated=true)]
public int ID
{
get { return _id; }
set { _id = value; }
}
[Column (Name="Name",Storage="_name",DbType="Int not null identity")]
public string Name
{
get { return _name; }
set { _name = value; }
}
[Column(Name="LastName",Storage="_lastname",DbType="Nvarchar not null")]
public string Lastname
{
get { return _lastname; }
set { _lastname = value; }
}
[Column(Name="Salary",Storage="_salary",DbType="Int not null")]
public int Salary
{
get { return _salary; }
set { _salary = value; }
}
[Column(Name="Position",Storage="_position",DbType="Nvarchar not null")]
public string Position
{
get { return _position; }
set { _position = value; }
}
}
//}
static void Main(string[] args)
{
PersonelDbContext dbcontext = new PersonelDbContext();
var query = from c in dbcontext.Personel select c;
foreach (var item in query)
{
Console.WriteLine("Id:", item.Name);
Console.WriteLine("Id:", item.Lastname);
}
Console.ReadKey();
}
}
[Column (Name="Name",Storage="_name",DbType="Int not null identity")]
public string Name
{
get { return _name; }
set { _name = value; }
}
仔细看。数据库类型是什么?现在应该是什么?我猜是nvarchar(200) not null
或类似的东西。
此外:您的Console.WriteLine
线路不起作用;你的意思可能是:
Console.WriteLine("Id:" + item.Name);
或:
Console.WriteLine("Id:{0}", item.Name);