我是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