C# .Net SQL数据库无法识别模型变量
我正在处理一个C# .Net SQL数据库无法识别模型变量,c#,asp.net,.net,visual-studio-2015,sql-server-2014,C#,Asp.net,.net,Visual Studio 2015,Sql Server 2014,我正在处理一个.NetAPI项目。问题是,我有一台速度很慢的电脑,当时我正在使用VS2013。过了一段时间,我安装了VS2015,它工作得非常好,直到我删除了VS2013。此外,vs2013的卸载相当困难,因为我必须遵循以下指南:(下载整个安装程序,并使用命令行)。现在的问题是,现在SQLServer不接受我传递的Managerid和Workerid。 我的文档类: public class ConstructionSite { public int Id { get; set; }
.Net
API项目。问题是,我有一台速度很慢的电脑,当时我正在使用VS2013
。过了一段时间,我安装了VS2015
,它工作得非常好,直到我删除了VS2013
。此外,vs2013
的卸载相当困难,因为我必须遵循以下指南:(下载整个安装程序,并使用命令行)。现在的问题是,现在SQLServer不接受我传递的Managerid和Workerid。
我的文档类:
public class ConstructionSite
{
public int Id { get; set; }
public int CreatorId { get; set; }
public List<int> ManagerIds { get; set; }
public List<int> WorkerIds { get; set; }
public DateTime CreatedAt { get; set; }
public bool IsActive { get; set; }
}
公共类构造站点
{
公共int Id{get;set;}
public int CreatorId{get;set;}
公共列表管理器{get;set;}
公共列表workerid{get;set;}
public DateTime CreatedAt{get;set;}
公共bool IsActive{get;set;}
}
但当我点击“显示表格数据”按钮时,它只提供这种类型的视图:
我试图更改Configuration.cs类种子方法,如下所示:
protected override void Seed(ReportRest.Models.ApplicationDbContext context)
{
context.ConstructionSites.AddOrUpdate(new ConstructionSite
{
CreatorId = 2,
CreatedAt = new DateTime(2000, 01, 01),
IsActive = false,
ManagerIds = new List<int> {1},
WorkerIds = new List<int> {2},
});
}
public class MyDbContext : DbContext
{
public DbSet<ConstructionSite> ConstructionSites { get; set; }
public DbSet<Manager> Managers { get; set; }
public DbSet<Worker> Workers { get; set; }
public MyDbContext()
: base("YourConnectionStringName")
{
}
}
public class ConstructionSite
{
public Guid Id { get; set; }
public int CreatorId { get; set; }
public List<Manager> Managers { get; set; }
public List<Worker> Workers { get; set; }
public DateTime CreatedAt { get; set; }
public bool IsActive { get; set; }
}
public class Manager
{
public Guid Id { get; set; }
public string Name { get; set; }
public Guid ConstructionSiteId { get; set; }
}
public class Worker
{
public Guid Id { get; set; }
public string Name { get; set; }
public Guid ConstructionSiteId { get; set; }
}
protected override void Seed(ReportRest.Models.ApplicationDbContext上下文)
{
context.ConstructionSites.AddOrUpdate(新的ConstructionSite
{
CreatorId=2,
CreatedAt=新的日期时间(2000,01,01),
IsActive=false,
ManagerIds=新列表{1},
WorkerIds=新列表{2},
});
}
然后,我删除了现有的Migrations文件夹,打开Nugget Package Manager控制台并启动以下命令:
启用迁移
首先添加迁移
更新数据库。
不幸的是,这并没有帮助我恢复经理和工人身份。所以,在处理不稳定的Microsoft设置之前,我想问一下,是否有办法提醒我的数据库忘记变量。提前谢谢 不确定缺少哪些列,因为所有4个普通列都显示在数据库中,并且这两个列表通常应存储在自己的数据库表中 但是,如果您在ASP.net和EntityFramework中使用默认设置,并且已经有一个Migrations文件夹,那么数据库中还应该有一个“\u MigrationHistory”表 也就是说,如果您删除了旧的Migrationsfolder,您还需要删除表中的条目。在这之后,您可以创建一个新的“addmigrationinitialcreate”,并且应该获得当前代码库的整个第一次迁移 //要创建新的初始Datbase更新以获得用于将来更改的工作迁移,请执行以下操作:
不确定缺少哪些列,因为所有4个普通列都显示在数据库中,并且这两个列表通常应存储在自己的数据库表中 但是,如果您在ASP.net和EntityFramework中使用默认设置,并且已经有一个Migrations文件夹,那么数据库中还应该有一个“\u MigrationHistory”表 也就是说,如果您删除了旧的Migrationsfolder,您还需要删除表中的条目。在这之后,您可以创建一个新的“addmigrationinitialcreate”,并且应该获得当前代码库的整个第一次迁移 //要创建新的初始Datbase更新以获得用于将来更改的工作迁移,请执行以下操作:
如果你想与经理和员工建立某种关系,你必须创建如下内容:
protected override void Seed(ReportRest.Models.ApplicationDbContext context)
{
context.ConstructionSites.AddOrUpdate(new ConstructionSite
{
CreatorId = 2,
CreatedAt = new DateTime(2000, 01, 01),
IsActive = false,
ManagerIds = new List<int> {1},
WorkerIds = new List<int> {2},
});
}
public class MyDbContext : DbContext
{
public DbSet<ConstructionSite> ConstructionSites { get; set; }
public DbSet<Manager> Managers { get; set; }
public DbSet<Worker> Workers { get; set; }
public MyDbContext()
: base("YourConnectionStringName")
{
}
}
public class ConstructionSite
{
public Guid Id { get; set; }
public int CreatorId { get; set; }
public List<Manager> Managers { get; set; }
public List<Worker> Workers { get; set; }
public DateTime CreatedAt { get; set; }
public bool IsActive { get; set; }
}
public class Manager
{
public Guid Id { get; set; }
public string Name { get; set; }
public Guid ConstructionSiteId { get; set; }
}
public class Worker
{
public Guid Id { get; set; }
public string Name { get; set; }
public Guid ConstructionSiteId { get; set; }
}
公共类MyDbContext:DbContext
{
公共DbSet构造站点{get;set;}
公共数据库集管理器{get;set;}
公共数据库集工作程序{get;set;}
公共MyDbContext()
:base(“YourConnectionString名称”)
{
}
}
公共类构造站点
{
公共Guid Id{get;set;}
public int CreatorId{get;set;}
公共列表管理器{get;set;}
公共列表工作程序{get;set;}
public DateTime CreatedAt{get;set;}
公共bool IsActive{get;set;}
}
公共班级经理
{
公共Guid Id{get;set;}
公共字符串名称{get;set;}
公共Guid构造站点ID{get;set;}
}
公社工人
{
公共Guid Id{get;set;}
公共字符串名称{get;set;}
公共Guid构造站点ID{get;set;}
}
这将创建您想要的关系如果您想要与经理和员工建立关系,您必须创建如下内容:
protected override void Seed(ReportRest.Models.ApplicationDbContext context)
{
context.ConstructionSites.AddOrUpdate(new ConstructionSite
{
CreatorId = 2,
CreatedAt = new DateTime(2000, 01, 01),
IsActive = false,
ManagerIds = new List<int> {1},
WorkerIds = new List<int> {2},
});
}
public class MyDbContext : DbContext
{
public DbSet<ConstructionSite> ConstructionSites { get; set; }
public DbSet<Manager> Managers { get; set; }
public DbSet<Worker> Workers { get; set; }
public MyDbContext()
: base("YourConnectionStringName")
{
}
}
public class ConstructionSite
{
public Guid Id { get; set; }
public int CreatorId { get; set; }
public List<Manager> Managers { get; set; }
public List<Worker> Workers { get; set; }
public DateTime CreatedAt { get; set; }
public bool IsActive { get; set; }
}
public class Manager
{
public Guid Id { get; set; }
public string Name { get; set; }
public Guid ConstructionSiteId { get; set; }
}
public class Worker
{
public Guid Id { get; set; }
public string Name { get; set; }
public Guid ConstructionSiteId { get; set; }
}
公共类MyDbContext:DbContext
{
公共DbSet构造站点{get;set;}
公共数据库集管理器{get;set;}
公共数据库集工作程序{get;set;}
公共MyDbContext()
:base(“YourConnectionString名称”)
{
}
}
公共类构造站点
{
公共Guid Id{get;set;}
public int CreatorId{get;set;}
公共列表管理器{get;set;}
公共列表工作程序{get;set;}
public DateTime CreatedAt{get;set;}
公共bool IsActive{get;set;}
}
公共班级经理
{
公共Guid Id{get;set;}
公共字符串名称{get;set;}
公共Guid构造站点ID{get;set;}
}
公社工人
{
公共Guid Id{get;set;}
公共字符串名称{get;set;}
公共Guid构造站点ID{get;set;}
}
这创建了您想要的关系当您说“不幸的是,这没有帮助我恢复丢失的列”时,您是什么意思。你指的是哪列?我缺少ManagerIds和WorkerIds列。对不起,我没来