Tag: entity framework

SqlQuery进入字段?

我有一个工作得很好的实体,但后来我需要处理另一个来自另一个表的属性。 我没有能够创建一个View,所以我想只添加一个[NotMapped]字段然后使用Context.Database.SqlQuery来执行我的自定义语句并返回所有正常字段和这个新字段。 换句话说,这样的事情: public class Employee { public int EmployeeId { get; set; } public string EmployeeName { get; set; } [NotMapped] public string CustomerName { get; set; } } public List GetEmployees() { using (MyContext context = new MyContext()) { return context.Database.SqlQuery(“select E.EmployeeId, E.EmployeeName, C.CustomerName from Employee E left join Customer C on E.CustomerId […]

entity frameworkexception:找到不明确的匹配

我收到错误: 找到了模糊的比赛 在此代码上添加.Add var db = new NexusEntities(); db.Reports.Add(mmr); 如果有两个具有相同名称但位于不同名称空间的类,则从谷歌搜索似乎是一个问题。 据我所知,情况并非如此……是否还有其他原因导致此错误发生? 或者有没有办法告诉它找到哪两个参数?

Linq + Where + abstract method = LINQ to Entities无法识别方法

首先:我知道关于这个话题已经有很多问题了。 但我真的找不到任何解决方案我的问题。 我的问题是我使用抽象方法从dbset中进行选择。 我的代码如下所示: var dbe = (from i in dbEntities where IsEqualRecord(me, i) select i); 这是我的抽象方法deklaration: protected abstract bool IsEqualRecord(MEntity modelEntities, DEntity databaseEntity); MEntity和DEntity是generics类型。 我已经读过我的where语句无法转换为sql语句。 但是我该如何解决这个问题呢? 还有其他方法吗? 请不要投票来关闭这个问题。 我已经看了几乎所有关于stackoverflow的类似问题,但我找不到解决方案。

如何将值从存储过程返回到EF

我试图通过EF调用存储过程并从存储过程中检索返回值。 我用这个答案作为指导。 这是我的存储过程: CREATE PROCEDURE [dbo].[usp_test] ( @result int OUT ) AS BEGIN –DO STUFF SET @result = 0 END 以下是我如何从EF调用它: var status = new SqlParameter { ParameterName = “result”, DbType = DbType.Int32, Direction = ParameterDirection.Output }; var result = context.Database.SqlQuery(“EXEC usp_test @result”, status); var wasSuccessful = result.First() == 1; if (!wasSuccessful) { //DO STUFF […]

添加到ObjectSet 的对象的多态删除不会引发ObjectSet上的IBindingList.ListChanged .IListSource.GetList()

概览/描述 简单:从添加到ObjectSet TEntity 派生的运行时类型的对象的多态删除不会引发由ObjectSet.IListSource.GetList()方法返回的IBindingList对象上的IBindingList事件。 但是,在ListChanged事件上有效地通知删除运行时类型与 TEntity 匹配的实例。 为了澄清,在任何时候,对象都被有效地从底层集合或数据视图/存储中移除,但是当这些对象是严格从实际使用的TEntity派生的类型的实例时,不会引发ListChanged事件以通知它们的移除。 对于集合的运行时多态性的适当数据绑定支持,这只是一个惊人的BUG。 REPLICATION 型号设置 每种类型战略表。 在Server 2012 Express上映射和validation实体模型与已对齐的SQL数据库。 这是实体层次结构(伪UML): FiascoEntityContext : ObjectContext + Foos : ObjectSet Foo : EntityObject + Id: Int32 + Name: String SpecialFoo : Foo + SpecialProperty: String 示范代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Data.Objects; namespace FiascoEF { class […]

在entity framework中放置扩展的部分类

由于部分类必须位于同一个命名空间中,我唯一的选择是将它们放在与我的.edmx相同的方向上? 如果是这种情况,我假设文件名必须始终不同。 另外,还有什么我需要做的或者我只是在同一目录中创建另一个具有相同名称的部分类并向其添加属性/方法吗?

LINQ表达式包含对与不同上下文关联的查询的引用

这是我的代码: var myStrings = (from x in db1.MyStrings.Where(x => homeStrings.Contains(x.Content)) join y in db2.MyStaticStringTranslations on x.Id equals y.id select new MyStringModel() { Id = x.Id, Original = x.Content, Translation = y.translation }).ToList(); 我得到的错误是指定的LINQ表达式包含对与不同上下文关联的查询的引用。 我知道问题是我尝试从db1和db2访问表,但我该如何解决这个问题?

entity framework – 索引0处的初始化字符串的格式

这是例外, System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0. at System.Data.Common.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue) at System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey) at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules) at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) […]

entity framework中的“它”是什么

请原谅我,如果以前曾经问过,但我的搜索中没有出现“它”。 我有两个数据库表Person和Employee建模一个Table-per-Type(例如Employee is-a Person)。 在我的edmx设计器中,我定义了一个单独的实体Employee,它将每个列映射到它们各自的基础表(例如Name – > Person,Salary – > Employee)。 “它”允许我在LINQ表达式中执行这样的操作: context.Employees.Where(“it.Name LIKE ‘M%’ AND it.Salary > 1234”) 是否有任何好的链接解释我如何期望“它”表现? 我认为它不是一般的LINQ事物,它对Entity Framework有点具体。 编辑0:生成的ObjectContext的C#代码如下: public partial class TestObjectContext : ObjectContext { // lots of boilerplate removed for clarity public ObjectSet Employees { get { if ((_Employees == null)) { _Employees = base.CreateObjectSet(“Employees”); } return _Employees; } […]

entity framework自动生成主键

我是Entity Framework的新手。 我有一个简单的课: public class User { [System.ComponentModel.DataAnnotations.Schema.DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)] public int UserId { get; set; } public string Email { get; set; } public string UserName { get; set; } public string Password { get; set; } //public UserList Users { get; set; } public User() { } public User(int userId, string email, string username) { […]