Tag: entity framework

MySQLentity framework错误 – 在配置中找不到指定的商店提供程序,或者无效

我在C#中编写了一个程序集来执行MySQL数据库的所有数据访问。 我在C#winform桌面应用程序中成功使用了程序集(已编译的dll)。 但它仅适用于安装了“MySQL Connector Net 6.4.4”的PC。 我试图在我的asp.net网站项目中使用相同的程序集。 首先我得到一个关于缺少连接字符串的错误。 通过将MySQL连接字符串添加到web.config文件可以轻松解决这个问题。 我现在得到这个错误(下面列出的堆栈跟踪),我已经尝试将以下dll添加到我的bin文件夹来解决它,但它不起作用。 MySql.Data.dll MySql.Data.Entity.dll MySql.Web.dll System.Web.HttpUnhandledException (0x80004005): Exception of type ‘System.Web.HttpUnhandledException’ was thrown. —> System.ArgumentException: The specified store provider cannot be found in the configuration, or is not valid. —> System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed. at System.Data.Common.DbProviderFactories.GetFactory(String […]

首先了解代码虚拟属性

嗨,我只是学习使用Entity Framework Code First,我似乎无法理解。我已经根据教程创建了三个模型: public class Course { public int CourseID { get; set; } public string Title { get; set; } public int Credits { get; set; } public virtual ICollection Enrollments{ get; set; } } public class Enrollment { public int EnrollmentID { get; set; } public int CourseID { get; set; } […]

为什么尝试/最终而不是“使用”语句有助于避免竞争条件?

此问题涉及另一个post中的评论: 取消entity framework查询 为清楚起见,我将从那里重现代码示例: var thread = new Thread((param) => { var currentString = param as string; if (currentString == null) { // TODO OMG exception throw new Exception(); } AdventureWorks2008R2Entities entities = null; try // Don’t use using because it can cause race condition { entities = new AdventureWorks2008R2Entities(); ObjectQuery query = entities.People .Include(“Password”) […]

entity framework底层提供程序在Open上失败

下面是我的连接字符串: 的connectionString =“元数据= RES://*/EDMX.Test.csdl | RES://*/EDMX.Test.ssdl | RES://*/EDMX.Test.msl;提供商= System.Data.SqlClient的;提供者connection string =“Data Source = home_computer; Initial Catalog = db_Test; Persist Security Info = True; User ID = testUser; Password = $ 1234; MultipleActiveResultSets = True”“ 这是程序卡住的代码: EDMX.TestingEntity context = new EDMX.TestingEntity(); var query = from t in context.User where t.UserName == _userName select t; 运行上面的代码后,我检查变量查询并发现exception 底层提供程序在Open上失败。 […]

我应该如何访问Entity Framework Code First中的计算列?

我在ASP.NET MVC应用程序中使用Entity Framework Code First。 我的一个类有几列添加在一起。 我通过在数据库初始化程序中运行alter table脚本将这些列存储为表中的计算列。 让我们说这堂课看起来像: public class Bond { public decimal ParAmountOfIssuance { get; set; } public decimal AccruedInterest { get; set; } public decimal Premium { get; set; } public decimal OriginalIssueDiscount { get; set; } } alter脚本如下: alter table Bonds add TotalSources as (ParAmountOfIssuance + AccruedInterest + Premium – […]

使用Entity Framework从动态创建的表中查询数据

TLDR; 当在编译时不知道表名时,如何使用Entity Framework从表中读取数据? 有一个外部系统处理大量信息,然后为每个批处理运行创建一个新表,并将一些数据存储在该表中。 这些新表的列布局是事先已知的,因此我从现有数据库生成了ADO.NET实体数据模型(edmx文件) ,其中有一个表具有完全相同的列布局。 该数据库中的原始表称为ResultTableTemplate ,因此表示该表的实体类也称为ResultTableTemplate 。 我试图弄清楚如何使用我的ADO.NET实体数据模型从那些动态创建的表中读取,并获取IEnumerable 。 到目前为止我所做的是: public IEnumerable GetResultsFromTable(string tableName) { using (var context = new WorkdataEntities()) { var table = context.CreateQuery(“SELECT ” + “ALL_THOSE_COLUMN_NAMES… ” + “FROM ” + tableName; var query = from item in table select item; return query.ToList(); } } 当我运行查询时,我得到一个带有以下消息的System.Data.EntitySqlException : 无法在当前范围或上下文中解析“ResultTable419828”。 确保所有引用的变量都在范围内,加载了所需的模式,并正确引用了名称空间。 近成员访问表达式,第1行,第225列。 […]

entity framework不保存修改后的子项

这令人沮丧。 这是一对相关对象,由数据库优先entity framework生成: public partial class DevelopmentType { public DevelopmentType() { this.DefaultCharges = new HashSet(); } public System.Guid RowId { get; set; } public string Type { get; set; } public virtual ICollection DefaultCharges { get; set; } } public partial class DefaultCharge { public System.Guid RowId { get; set; } public decimal ChargeableRate { […]

C#,entity framework,自动增量

我正在学习VC#2010下的entity framework。 我创建了一个用于学习目的的简单表,其中一个字段是“id”类型整数,标识设置为true。 我已从该表生成实体数据模型并将其与dataGridView连接。 问题是它不会自动递增 – 每个插入的行都想成为id = 0(当然,这是不可能的,因为id必须是唯一的) 我究竟做错了什么? 我应该如何配置EF或SQL db本身?

Linq表达式中的Int.Parse

我有以下linq表达式。 我想在Nvarchar字段中计算数值的总和。 我使用以下代码来执行此操作。 但是当我尝试运行它时出现错误。 var m = new MaterialModelContainer(); var list = (from x in ( from inv in m.INVs join l in m.LIBs on inv.MESC equals l.MESC join o in m.OUTs on inv.MESC equals o.MESC join t in m.TRANs on inv.MESC equals t.MESC where t.TYPE == “60” select new { l.MESC, l.LINE_NO, l.UNIT_LINE, Description […]

为什么Entity Framework无法在LINQ语句中使用ToString()?

这适用于LINQ-to-SQL: var customersTest = from c in db.Customers select new { Id = c.Id, Addresses = from a in db.Addresses where c.Id.ToString() == a.ReferenzId select a }; foreach (var item in customersTest) { Console.WriteLine(item.Id); } 但entity framework中的类似示例会收到一条错误消息 ,表示它无法“将其转换为SQL”,这是德语中的原始错误消息: “’LINQ to Entities’erkennt die Methode’System.String ToString()’nicht,und diese Methode kann nicht in einenSpeicherausdruckübersetztwerden。” 翻译: “’LINQ to Entities’无法识别Method’System.String ToString()’,此方法无法转换为内存表达式。 […]