Я начинаю с Entity Framework. Я создаю приложение WPF. Ниже приведен мой модельный класс:Извлечение данных из базы данных с использованием Entity Framework
[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
. На Otherhand, если я попробую это, то он работает:
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 колонки не все. Нужна помощь!!
Что такое ваше сообщение исключение? Я подозреваю, что это потому, что ваш автомобиль-лист является анонимным. Вы можете попробовать создать класс с указанными четырьмя указанными свойствами и создать новый экземпляр в своем выражении linq. Ваша привязка будет проще, так как у вас будет сильный тип. – kidshaw