无效的列实体框架
本文关键字:框架 实体 无效 | 更新日期: 2023-09-27 18:01:44
我先用实体框架代码生成我的模型类。然而,它显示一个异常,每当我调用db.Model.ToList()
;例外:{"Invalid column name 'rapportAnomalie_code_rapport'."}
我没有这样一列,我不知道它是从哪里来的。我的数据库:
refAnomalie。sql :
CREATE TABLE [dbo].[refAnomalie] (
[code_anomalie] INT IDENTITY (1, 1) NOT NULL,
[libelle_anomalie] NVARCHAR (100) NOT NULL,
[score_anomalie] INT NOT NULL,
[classe_anomalie] NVARCHAR (100) NOT NULL,
CONSTRAINT [PK_dbo.refAnomalie] PRIMARY KEY CLUSTERED ([code_anomalie] ASC)
);
rapportAnomalie。sql:
CREATE TABLE [dbo].[rapportAnomalie] (
[code_rapport] INT IDENTITY (1, 1) NOT NULL,
[date_rapport] DATETIME NOT NULL,
[etat] NVARCHAR (50) NOT NULL,
[code_agence] INT NOT NULL,
CONSTRAINT [PK_dbo.rapportAnomalie] PRIMARY KEY CLUSTERED ([code_rapport] ASC),
CONSTRAINT [FK_dbo.rapportAnomalie_dbo.agence_code_agence] FOREIGN KEY ([code_agence]) REFERENCES [dbo].[agence] ([code_agence]) ON DELETE CASCADE
);
GO
CREATE NONCLUSTERED INDEX [IX_code_agence]
ON [dbo].[rapportAnomalie]([code_agence] ASC);
refAnomalie.cs:
[Table("refAnomalie")]
public partial class refAnomalie
{
[Key]
public int code_anomalie { get; set; }
[Required]
[StringLength(100)]
public string libelle_anomalie { get; set; }
public int score_anomalie { get; set; }
[Required]
[StringLength(100)]
public string classe_anomalie { get; set; }
}
}
rapportanomaly .cs:
[Table("rapportAnomalie")]
public partial class rapportAnomalie
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public rapportAnomalie()
{
ligneRapportAnomalie = new HashSet<ligneRapportAnomalie>();
}
[Key]
public int code_rapport { get; set; }
public DateTime date_rapport { get; set; }
[Required]
[StringLength(50)]
public string etat { get; set; }
public int code_agence { get; set; }
public virtual agence agence { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<ligneRapportAnomalie> ligneRapportAnomalie { get; set; }
public List<refAnomalie> listeRefAnomalie { get; set; }
public List<ligneRapportAnomalie> listeLigneRapportAnomalie { get; set; }
}
}
我在互联网上寻找了一些解决方案,例如添加Database.SetInitializer<InspectionBanqueContext>(null);
或从sql server数据库删除迁移表,但没有工作。什么好主意吗?
有设置初始化项的策略- http://www.codeproject.com/Articles/794187/Various-Strategies-to-Initialize-Database-in-Entit
Database.SetInitializer<TestContext>(new DropCreateDatabaseIfModelChanges<TestContext>());
- drop always
Database.SetInitializer<TestContext>(new CreateDatabaseIfNotExists<TestContext>())
;-只在不存在的情况下创建。所以它的数据库在那里它不会改变它-使用更新数据库如果你的数据库有你需要的数据- http://coding.abel.nu/2012/03/ef-migrations-command-reference/