我是Entity Framework的初学者。我正在构建一个WPF应用程序。以下是我的模型类:使用实体框架从数据库中检索数据
[Table("Vehicle")]
public class Vehicle
{
[Key]
public int VehicleId { get; set; }
[Column("LicencePlateNumber", TypeName = "ntext")]
[MaxLength(100)]
public string LicencePlateNumber { get; set; }
[Column("LicencePlateState", TypeName = "ntext")]
[MaxLength(100)]
public string LicencePlateState { get; set; }
[Column("Make", TypeName = "ntext")]
[MaxLength(100)]
public string Make { get; set; }
[Column("Other", TypeName = "ntext")]
[MaxLength(100)]
public string Other { get; set; }
[Column("Model", TypeName = "ntext")]
[MaxLength(100)]
public string Model { get; set; }
[Column("Style", TypeName = "ntext")]
[MaxLength(100)]
public string Style { get; set; }
[Column("Color", TypeName = "ntext")]
[MaxLength(100)]
public string Color { get; set; }
[Column("PurchaseYear", TypeName = "int")]
public int PurchaseYear { get; set; }
[Column("InsurnaceCompanyName", TypeName = "ntext")]
[MaxLength(100)]
public string InsurnaceCompanyName { get; set; }
[Column("InsurnaceCompanyNumber", TypeName = "ntext")]
[MaxLength(100)]
public string InsurnaceCompanyNumber { get; set; }
}
我想从datagrid中的表中检索数据。
using (var context = new TransportContext())
{
var vehicleList = from v in context.Vehicles
select new
{
Number = v.LicencePlateNumber,
Make = v.Make,
Model = v.Model,
Year = v.PurchaseYear
};
DG_Details.ItemsSource = vehicleList;
DG_Details.Items.Refresh();
}
但是我得到XAMLParseException
。另一方面,如果我尝试这个,那么它的工作原理:
using (var context = new TransportContext())
{
var projectionQuery = from v in context.Vehicles
select v;
var vehicleList = projectionQuery.ToList<Vehicle>();
DG_Details.ItemsSource = vehicleList;
DG_Details.Items.Refresh();
}
但我想检索只有4列并非全部。需要帮忙!!
什么是你的异常信息?我怀疑这是因为你的vehicleList是一个匿名类型。您可以尝试创建一个定义了这四个属性的类,并在您的linq语句中创建一个新实例。您的绑定将更容易,因为您将拥有强大的类型。 – kidshaw 2014-10-20 07:49:33