Tag: entity framework

如何在entity framework代码中首先为几个表生成标识种子值

我见过这个和这个 。 我只想为我的代码优先(EF6.1)表的ID列的起始值设定种子。 现在我可以做到这一点 public class CustomInitializer : CreateDatabaseIfNotExists { protected override void Seed(FormsDbContext context) { context.Database.ExecuteSqlCommand(“DBCC CHECKIDENT (‘MyTable’, RESEED, 1000)”); } } 但是因为我有很多很多桌子,所以我觉得它很奇怪(而且感觉差不多)我必须为所有这些重复上述线路。 我无法通过流畅的配置找到任何方法。 这是种子的正确方法吗? 谢谢

运行linq命令时无法识别属性“name”错误

我在我的APS.NET 4.5 Web应用程序中使用Entity Framework 6。 运行以下命令时: using (var db = new booksEnteties()) { var books = from b in db.books select b; } 我收到以下错误: System.Configuration.dll中发生类型为“System.Configuration.ConfigurationErrorsException”的exception,但未在用户代码中处理 在细节中: 无法识别的属性“名称”。 它指向我的web.config行111: 当我删除此行并尝试再次运行时,我收到以下错误: 为system.data创建配置节处理程序时发生错误:列’InvariantName’被限制为唯一。 值’MySql.Data.MySqlClient’已存在。 我假设这与web.config中的Entity Framework 6配置有关。

WPF – 如何以编程方式备份​​/还原LocalDB – ClickOnce

我有一个应用程序使用EF和LocalDB作为它的数据库,由ClickOnce发布。 这是我第一次使用LocalDB,我不知道如何添加一个function到我的应用程序以编程方式备份​​/恢复数据库。 ClickOnce安装的我的应用程序路径: C:\Users\Mahdi Rashidi\AppData\Local\Apps\2.0\NOL11TLW.9XG\CZM702AQ.LPP\basu..tion_939730333fb6fcc8_0001.0002_fd707bbb3c97f8d3 这是数据库文件安装的位置: C:\Users\Mahdi Rashidi\AppData\Local\Apps\2.0\NOL11TLW.9XG\CZM702AQ.LPP\basu…exe_939730333fb6fcc8_0001.0002_none_8c555c3966727e7f 我该如何备份/恢复数据库? 如何通过ClickOnce进一步更新来保护数据库安全? 非常感谢 :)

entity framework – 一对一 – ReferentialConstraint映射到商店生成的列

我在EF中创建了一个简单的一对一关系。 但是当我尝试插入时,我收到以下错误: ReferentialConstraint映射到存储生成的列。 列:’ACCOUNT_ID’。 控制台应用示例: namespace EF_ConsoleApp_Test { public class Program { public static void Main(string[] args) { var account = new Account { AccountNumber = “00123456”, CustomerValue = new Customer { FirstName = “Joe” } }; using (var db = new MainContext()) { db.Accounts.Add(account); db.SaveChanges(); } } } [Serializable] [Table(“CUSTOMERS”)] public class Customer { […]

通过查找将循环展平为单个linq表达式

在LINQ到实体的类型成员支持中? 我试图声明在LINQ中查询的类属性遇到了一些问题。 在这里,我将在实现中布置代码,希望能够将其转换为查询。 我有一个类Quiz ,其中包含一个Question集合,每个Question根据一个QuestionLevel级别进行分类…我需要确定一个测验是“打开”还是“关闭”,这是通过外部联接完成的与最大值表相比,每个级别的问题级别和问题计数。 这是代码,逐字: public partial class Quiz { public bool IsClosed { get { // if quiz has no questions, it’s open if (this.Questions.Count() == 0) return false; // get a new handle to the EF container to do a query for max values using (EFContainer db = new EFContainer()) { // […]

MySQL的entity frameworkdefaultConnectionFactory

当我将connectionString名称指定为基础构造函数的参数时,以下配置正常工作。 因为我希望以后能够在不重新编译的情况下更改默认提供程序,我想在我的app.config设置它,但我不知道提供什么作为defaultConnectionFactory type 。 例外: 无法将Database.DefaultConnectionFactory设置为应用程序配置中指定的“MySql.Data.Entity.MySqlConnectionFactory,EntityFramework”类型的实例。 请参阅内部exception了解详细信 内部exception(已翻译,VS设置为英语但有些消息仍为我的语言): 无法在程序集“EntityFramework”中加载“MySql.Data.Entity.MySqlConnectionFactory”类型 文档说明程序集名称MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6冒号,因此我也尝试了MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6 ,给我这个例外: 初始化字符串的格式不符合从索引0开始的规范。 我正在使用EF6,MySql.Data和MySql.Data.Entity.EF6 6.8.3.0。

在Linq查询中搜索十进制值

我有这个搜索条件 [HttpPost] public ActionResult Index(string searchString) { if (!String.IsNullOrEmpty(searchString)) { students = students.Where(s => s.FIRST_NAME.Contains(searchString) || s.LAST_NAME.Contains(searchString) || s.PERSONAL_NUMBER.Contains(searchString) || s.ACD_UNI_DEGREES.DEGREE.Contains(searchString) || s.ACD_UNI_FACULTIES.FACULTY.Contains(searchString) || s.ACD_UNI_SPECIALIZATIONS.SPECIALIZATION.Contains(searchString) || SqlFunctions.StringConvert(s.SEMESTER).Contains(searchString) || s.COR_PAYER_STATUS.NAME.Contains(searchString) || SqlFunctions.StringConvert(s.CREDIT_COUNT).Contains(searchString)); } return View(students.ToList()); } 但在调试时抛出exception: System.NotSupportedException:类型为“System.Data.Objects.SqlClient.SqlFunctions”的指定方法’System.String StringConvert(System.Nullable`1 [System.Decimal])’无法转换为LINQ to Entities存储表达式。 问题出在这里: SqlFunctions.StringConvert(s.SEMESTER).Contains(searchString) SEMESTER是十进制的, searchString是字符串。 我怎样才能改善这一点?

找不到我的Entity Framework数据库

我对代码第一entity framework数据库有点困惑。 我创建了一个新的DbContext和类,我将在该上下文中存储,如下所示: namespace MyProject.Subproject.Something { public class MyItem { public string One { get; set; } public string Two { get; set; } [Key] public string Three { get; set; } public string Four { get; set; } } public class MyAppData : DbContext { public DbSet MyItems { get; set; } } } […]

entity framework7身份种子

我们在EF7中使用Code First,我想添加一个具有Identity Seed的列,该另一个值为1。 目前,我们可以在迁移过程中通过EntityTypeBuilder将其设置为自动增量: entityBuilder.Property(e => e.PropertyName).ValueGeneratedOnAdd(); 但是我无法找到如何更改身份种子。 它是否仍然需要像其他版本的EF一样更新? 例如,编写一些自定义的SQL并在迁移期间运行它? 如何在entity framework代码中首先为几个表生成标识种子值 如何使用SQL Compact 4首先使用Entity Framework 4代码在ID列上设置Identity种子? 在EF7中,似乎没有SqlServerMigrationSqlGenerator > override Generate(AltherTableOperation alterTableOperation)代码SqlServerMigrationSqlGenerator > override Generate(AltherTableOperation alterTableOperation) ?

从IDbCommandInterceptor的实现中获取DbContext

我正在使用IDbCommandInterceptor实现: public class MyInterceptor : IDbCommandInterceptor { public void ReaderExecuting(DbCommand command, DbCommandInterceptionContext interceptionContext) { var context = interceptionContext.DbContexts.FirstOrDefault(); } public void NonQueryExecuting(DbCommand command, DbCommandInterceptionContext interceptionContext) { } public void ScalarExecuting(DbCommand command, DbCommandInterceptionContext interceptionContext) { } public void NonQueryExecuted(DbCommand command, DbCommandInterceptionContext interceptionContext) { } public void ReaderExecuted(DbCommand command, DbCommandInterceptionContext interceptionContext) { } public void ScalarExecuted(DbCommand command, […]