Tag: entity framework

entity framework7 RC 1和ASP.NET MVC 6中的种子初始数据

似乎在Entity Framework 7中还没有对种子数据的原生支持( https://github.com/aspnet/EntityFramework/issues/629 )。 Microsoft提供的模板代码中没有DbMigrationsConfiguration类,也没有Seed方法。 那么如何在使用Entity Framework 7 RC 1的ASP.NET MVC 6 Web应用程序中播种数据呢?

Oracle Instant Client和Entity Framework在配置方面存在问题

我正在尝试学习并弄清楚是否可以将MVC,EF,ODAC 11.2.0.3应用程序部署到安装了先前版本的ODP.NET的服务器上。 我认为我可以使用Oracle Instant Client,而不是更新服务器ODP.NET(我不能)。 这可行吗? 1)我将这些dll添加到我的项目中以支持Instant Client -Oracle.DataAccess.dll -oci.dll -ociw32.dll -orannzsbb11.dll -oraociei11.dll -OraOps11w.dll 2)接下来我更新了dbProviderFactories的web.config 3)这个(afaik)是如何在bin rathre中使用Oracle dll而不是GAC 4)最后我的connectionString 这是我收到的错误无法找到请求的.Net Framework数据提供程序。 它可能没有安装。 我真的很感激这里的任何帮助。 我很新,有很多东西需要学习。 提前致谢。 干杯

无法将视图添加到edmx

尝试将视图添加到edmx文件时,没有任何反应。 我使用wxl编辑器打开了edmx文件,我注意到以下错误: 警告6013:表/视图’CellularOrders.dbo.V_LINK’没有定义主键,也没有推断出有效的主键。 此表/视图已被排除。 要使用该实体,您需要检查您的架构,添加正确的密钥并取消注释。 (重要的东西 – 我没有也不需要将基于视图的表添加到edmx。此外,该视图仅用于对数据执行select语句) 因此,在数据库中,我更新了T_LINK表,并将其中一个反映在视图上的字段作为主键。 然后,当我再次尝试将视图添加到edmx时,再也没有发生。 我怎么解决这个? 有没有选项来解决这个问题而不对表做任何事情? 我可以添加另一个视图,以某种方式包装旧视图但具有固定属性?

无法在LINQ OrderBy中使用属性名进行排序

错误是 LINQ to Entities无法识别方法’System.Object GetValue(System.Object,System.Object [])’方法,并且此方法无法转换为存储表达式。 我的代码是 public static GridResult GetAllUsers(int count, int tblsize,string sortcreteria) { using (UserEntities entity = new UserEntities()) { var data = entity.User_Details.Take(count) .OrderBy(i =>.GetType().GetProperty(sortcreteria).GetValue(i,null)) .Skip(tblsize).ToList(); result.DataSource = data; result.Count = entity.User_Details.Count(); } return result; } 如何使用属性名称作为字符串排序?

实现死锁exception的重试逻辑

我已经实现了一个通用存储库,并想知道是否有一种智能方法可以在出现死锁exception的情况下实现重试逻辑? 对于所有存储库方法,该方法应该相同。 那么无论如何我可以避免在每一种方法中使用retry-count再次编写’try / catch – call方法’吗? 任何建议都是受欢迎的。 我的存储库代码: public class GenericRepository : IRepository { private ObjectContext _context; public List ExecuteStoreQuery(string commandText, params object[] parameters) where TEntity : class { List myList = new List(); var groupData = _context.ExecuteStoreQuery(commandText, parameters); return myList; } public IQueryable GetQuery() where TEntity : class { var entityName = GetEntityName(); […]

如何更新在DbContext之外修改的实体?

如果实体在DbContext之外被更改(是一个分离的实体),我在更新实体方面遇到了一个小问题。 如果我附加修改后的实体,则其状态不会被修改。 我的代码如下所示: var specificationToSave = GetSpecificationFromTmpStore(userSessionGuid); using (var context = DataContextFactory.GetDataContext()) { // this works for update, if I change the values inside the context while debugging // but it breaks with new entities context.Specifications.Attach(specificationToSave); // this works for insert new entities, modified entities will be saved as new entities context.Specifications.Add((specificationToSave);) context.SaveChanges(); } 我知道NHibernate,它的方法是SaveOrUpdate。 […]

CanExecute Logic for DelegateCommand

更新:焦点变成MVVM而不是实际的问题所以我正在更新它。 我遇到了CanExecute for DelegateCommand的问题。 在我调用RaiseCanExecuteChanged之前它没有更新,这是否是所需的行为? 我在这里上传了一个简单的示例项目来重现这个问题: http : //dl.dropbox.com/u/39657172/DelegateCommandProblem.zip 问题是这个,我有两个像这样的Buttons 。 一个是绑定Command到一个RelayCommand实现,另一个是绑定到DelegateCommand的Prism实现 ViewModel ICommands DelegateSaveCommand = new DelegateCommand(Save, CanSaveDelegate); RelaySaveCommand = new RelayCommand(param => Save(), param => CanSaveRelay); 和CanExecute方法/谓词 public bool CanSaveDelegate() { return HasChanges; } public bool CanSaveRelay { get { return HasChanges; } } 两者都使用属性HasChanges 。 更新HasChanges ,只更新CanSaveRelay 。 这是它的意思吗?

如何在Entity Framework代码优先方法中映射自我的递归关系

我想要创建的只是基本的递归类别。 如果RootCategory_Id设置为null,则类别为root,如果将其设置为某个id,则属于某个其他类别。 我在Seed()方法中添加了两个子类别的类别进行测试,但它不起作用。 (之后我检查了数据库,插入了) 分类模型 public class Category { public int ID { get; set; } public Category RootCategory { get; set; } // This one works good, it also creates “RootCategory_Id” in database on “update-database” public ICollection ChildCategories { get; set; } // This is always null, how to map it correctly? public string […]

entity frameworkvalidation

我正准备开始一个新项目,我一直在研究entity framework。 我的问题是validation实体的最佳策略是什么? 我参与过的其他项目在大多数validation中使用了属性,但显然这在entity framework中是不可能的。 是通过处理属性设置器中的部分方法来实现此目的的唯一方法吗? 所有建议都非常感谢。

违反类型的inheritance安全规则:’MySql.Data.Entity.MySqlEFConfiguration’

我已经创建了一个asp.net Web应用程序,它应该连接到一个mysql数据库。 我使用entity framework6和ado.net实体数据模型。 我还遵循了以下教程: https : //dev.mysql.com/doc/connectors/en/connector-net-entityframework60.html#connector-net-ef6-config 但是调用: DbConfiguration.SetConfiguration(new MySqlEFConfiguration()); 导致我的应用程序崩溃。 它可能与此特定方法无关,因为创建DBContext也会使应用程序崩溃。 是什么导致了这个错误? .NET Framework:4.6.1 MySql.Data.Entity.EF6:6.10.4 Web.config文件: 完成错误: 违反了类型的inheritance安全规则:’MySql.Data.Entity.MySqlEFConfiguration’。 派生类型必须与基本类型的安全可访问性匹配,或者不易访问。 描述:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 exception详细信息:System.TypeLoadException:类型违反的inheritance安全规则:’MySql.Data.Entity.MySqlEFConfiguration’。 派生类型必须与基本类型的安全可访问性匹配,或者不易访问。