EF实体数据模型使用AutoLotEntities的方法 10C

代码如下
using (AutoLotEntities context=new AutoLotEntities())
{
EntityKey key = new EntityKey("AutoLotEntities.Cars", "CarID", 1);
context.GetObjectByKey(key);//这句话报错,提示没有这个方法
}
书上是这么写的,检查其他地方也没有错误的地方,只是这里存在错误

ef

2个回答

你这个是在哪里找的啊,不是这么用的吧。
这样查询
///
/// 查询模板对应数据(升序排列模板中的数据)
///
///
///
///
public static List GetSaveListData(string TemplateName)
{
using (PulseContext pc = new PulseContext())
{
var query = from b in pc.SaveListData
where b.TemplateName == TemplateName
orderby b.WindowPosition
select b;
return query.ToList();
}
}

             //static string filename = System.Configuration.ConfigurationManager.ConnectionStrings["PulseSQLite"].ToString();//获取连接数据库名称
    public PulseContext()
        : base(new SQLiteConnection()
        {
            ConnectionString =
                new SQLiteConnectionStringBuilder()
                { DataSource = "PulseSQLite.db", ForeignKeys = true }
                .ConnectionString
        }, true)
    { }


             /// <summary>
    /// 生成数据库用
    /// </summary>
    /// <param name="modelBuilder"></param>
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        if (!File.Exists("PulseSQLite.db"))//判断数据是否存在
        {
            //此处必须配置 PluralizingTableNameConvention ,否则无法正常使用。
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            modelBuilder.Configurations.AddFromAssembly(typeof(PulseContext).Assembly);
            //只有在Debug时可以自动生成数据库
            Database.SetInitializer(new DbInitializer(Database.Connection.ConnectionString, modelBuilder));

        }
    }

                /// <summary>
    ///模板存储
    /// </summary>
    public DbSet<SaveListData> SaveListData { get; set; }

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;

namespace Atisafe.Modes
{
///
/// 模板保存入数据库中
///
[Table("SaveListData")]
public class SaveListData
{
[Key]
///
/// id
///
public int ID { get; set; }
///
/// 模板名称
///
public string TemplateName { get; set; }
///
/// 模板类型(压力、脉象)
///
public int Type { get; set; }
///
/// 列表节点名称
///
public string Name { get; set; }
///
/// 窗体大小
///
public string WindowSize { get; set; }
///
/// 窗体在容器内位置
///
public int WindowPosition { get; set; }

}

}

通过实体类生成的表,还有表名,key,不是在你那里生成的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!