繁体   English   中英

使用实体框架从数据库中检索数据

[英]Retrieving data from database using 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列,而不是全部。 需要帮忙!!

尝试这个 :

var vehicleList = (from v in context.Vehicles
                         select new
                         {
                              Number = v.LicencePlateNumber,
                              Make = v.Make,
                              Model = v.Model,
                              Year = v.PurchaseYear
                         }).ToList();
                    DG_Details.ItemsSource = vehicleList;
                    DG_Details.Items.Refresh();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM