Tag: entity framework

在Code First Entity Framework中指定除dbo之外的SQL用户名(C#ASP.NET MVC 3)

我正在尝试从通过EF(代码优先)连接的ASP.NET MVC 3应用程序中的C#连接到共享托管环境中的SQL Server 2008数据库。 我的问题是生成的SELECT语句如下所示: SELECT … FROM [dbo].[TableName] 抛出错误Invalid object name ,但在我这样做时工作正常: SELECT … FROM [mySQLUserName].[TableName] 如何指定dbo以外的用户名(例如mySQLUserName )? 编辑: 我发现的与此问题相关的最接近的文章是: http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database.aspx http://weblogs.asp.net/scottgu/archive/2010/07/23/entity-framework-4-code-first-custom-database-schema-mapping.aspx 特别强调第二篇文章,但它没有指定如何设置除dbo之外的用户名

entity framework代码第一个DateTime字段更新修改

我有以下实体: public class User { public int UserId { get; set; } public string UserName { get; set; } public string UserAddress { get; set; } public DateTime CreateDate { get; set; } public DateTime? UpdateDate { get; set; } } 如何使User实体的UpdateDate字段成为更新时的服务器DateTime ? 也就是说,每当数据库中的实体被修改时, UpdateDate字段就会更改为确切的日期和时间,以及是否要说UpdateDate = new DateTime(Datetime.Now.Ticks)

entity framework中的相同表关系

是否可以将表映射到自身? 例如 Table: ConditionId ConditionName … … ParentConditionId 我们可以在那里有许多ParentConditionIds,每个都映射到相同的ConditionId。 我尝试了一对多的映射,但是在没有孩子时我遇到了错误。

更新条目时发生错误。 有关详细信息,请参阅内部exception

当我删除列表框中的项目时,我收到问题中的错误,如下面的屏幕截图所示: 我不知道内部exception在哪里,但我尝试尝试,捕获但我在问题中得到了相同的错误。 以下是所有代码: namespace WpfApplication7 { /// /// Interaction logic for Edit_Rooms.xaml /// public partial class Edit_Rooms : Window { public Edit_Rooms() { InitializeComponent(); } //initialises entities WpfApplication7.AllensCroftEntities1 allensCroftEntities1 = new WpfApplication7.AllensCroftEntities1(); private Room ObjectIndex; private void Window_Loaded(object sender, RoutedEventArgs e) { // Load data into Rooms. System.Windows.Data.CollectionViewSource roomsViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource(“roomsViewSource”))); //runs a query to […]

使用SqlQuery处理存储过程的多个结果

我有一个存储过程,它返回一组多个结果(两个表)。 我这样调用存储过程: var result = context.Database.SqlQuery( “exec [dbo].[GetReferrer] @StartDate, @EndDate, @Source”, this.CreateInParam(“@StartDate”, SqlDbType.DateTime, startDate), this.CreateInParam(“@EndDate”, SqlDbType.DateTime, endDate), this.CreateInParam(“@Source”, SqlDbType.SmallInt, eventSourveVal)).ToArray(); 我的RefererStatisticResult包含两个List 属性,用于结果集,但调用后列表为空。 我该如何处理结果集? 是否可以使用SqlQuery?

更新entity framework模型

我刚开始使用EF并发现它很酷,但我遇到了一个问题, 问题: 我更改了表User中的列的数据库模式,之前是Varbinary(50)然后我将其更改为VarChar(50),然后在MyModel.edmx设计器中我选择了“从数据库更新模型”,点击完成后我收到了这个错误。 错误: 2019年错误:指定的成员映射无效。 ‘LearnDBModel.User’类型中成员’Email’的类型’Edm.Binary [Nullable = False,DefaultValue =,MaxLength = 100,FixedLength = False]’与SqlServer.varchar不兼容[Nullable = False,DefaultValue =, MaxLength = 50,Unicode = False,FixedLength = False]’成员’Email’,类型为’LearnDBModel.Store.User’。 让我知道如何解决它

使用RemoveRange()批量删除行

我试图从表中删除多行。 在常规SQL Server中,这很简单,如下所示: DELETE FROM Table WHERE Table.Column = ‘SomeRandomValue’ AND Table.Column2 = ‘AnotherRandomValue’ 在Entity Framework 6中,他们引入了RemoveRange()方法。 但是,当我使用它时,entity framework不是使用我提供的where子句删除行,而是查询数据库以获取与where子句匹配的所有行,并使用其主键逐个删除它们。 这是EntityFramework的当前限制吗? 或者我使用RemoveRange()错误? 以下是我如何使用RemoveRange() : db.Tables.RemoveRange( db.Tables .Where(_ => _.Column == ‘SomeRandomValue’ && _.Column2 == ‘AnotherRandomValue’) );

entity framework:检查实体的所有关系以供外键使用

我有一个实体,我们称之为CommonEntity ,它在许多其他实体中使用主键作为外键。 随着应用程序的开发,这些链接将继续增长。 我想知道是否可以安全地删除CommonEntity (即它没有被任何其他实体使用)。 我意识到我能做到 if(!ce.EntityA.Any() && !ce.EntityB.Any() … && !ce.EntityN.Any()) { //Delete } 但是我希望能够自动检查所有关系,因为我不喜欢每次添加新关系时都必须手动更改此代码。 也许EF4 +中有一些我不知道的东西? 我认为有可能使用事务范围来尝试删除对象并在它失败时将其回滚,但我不确定这种方法是否存在任何不良副作用。 有更好的方法吗? 编辑:看起来VS2012使用EF5即使项目是.Net 4,所以它创建了POCO模型,即使它是从数据库生成的。

自创建数据库以来,支持’–Context’上下文的模型已更改 – 但db是新的生产数据库

我在第762次遇到这个错误,但是这次我在尝试访问我的生产网站后立即获得它,直接删除Azure上的“生产”数据库然后发布我的网站。 The model backing the ‘PropertyContext’ context has changed since the database was created. Consider using Code First Migrations to update the database 我删除了数据库,因为我无法以任何其他方式修复此问题,但它仍然无法正常工作。 一些要点: 我正在使用EF6并发布到Azure。 这是使用相同Repo项目的2个项目/站点中的1个。 我没有 另一个问题就在于此问题。 我已经尝试首先发布问题项目(在删除数据库之后),然后使用相同的结果发布。 我尝试从Azure中删除WEBSITES和DB,然后重新开始 我尝试删除所有迁移并从新数据模型开始 我在我的Global.asax中尝试了以下内容(在两个项目中) Database.SetInitializer PropertyContext>(null); < – SO不会让我把第一个< 和 Database.SetInitializer(new MigrateDatabaseToLatestVersion()); new PropertyContext().Database.Initialize(true); 我正在使用.net 4.5 为什么我在新数据库上出现此错误,如何使此网站正常工作?

EntityKey和ApplyPropertyChanges()

我需要设置一个EntityObject的EntityKey。 我知道它的类型和它的id值。 我不想不必要地查询数据库。 这有效…… // // POST: /Department/Edit/5 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Edit(Guid id, Department Model) { Model.EntityKey = (from Department d in db.Department where d.Id == id select d).FirstOrDefault().EntityKey; db.ApplyPropertyChanges(Model.EntityKey.EntitySetName, Model); db.SaveChanges(); return RedirectToAction(“Index”); } 这失败了…… // // POST: /Department/Edit/5 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Edit(Guid id, Department Model) { String EntitySetName = db.DefaultContainerName + “.” + […]