我正试图将我们自己开发的ORM解决方案转换为EntityFramework 5,而我遇到的第一个问题似乎是一个严重的节目停播。
我们的框中的EF5似乎要比ad hock sql长9倍来执行标量sql操作,但是当我查看生成的sql代码时,sql本身似乎编写得相当好,并且运行得很快。
我的两个C#代码:
int surveyId = (from survey in upsEntities.Surveys where !survey.Deleted select survey.SurveyID).First();
Debug.WriteLine("Loading s
我已经在EF 4.3中尝试过了,但没有效果。EF5 (与.NET 4.5结合使用)现在支持TVF。因此,从理论上讲,如果可以做到以下几点,这个新的EF5特性将为我节省大量的工作。
SQL查询;
SELECT O.*
FROM dbo.Orders O
INNER JOIN dbo.SecurityTVF(@Name) S ON S.UserID=O.UserID
等价的EF5查询--可能吗?
using (var context = new DSN())
{
// Return all the orders - limited by those the current use
我首先使用数据库。在自动生成的EF5代码中:
Account has ClientID(FK)
Client has AddressID(FK)
Address has public List<EFClient> Clients { get; set; } (i did not specify this in DB but ef5 auto generated it)
当我序列化Address对象时,它抛出异常“有一个循环引用”,因为地址中的客户端集合也再次占用相同的地址
在这种情况下我能做些什么?怎样才能不让EF5自动生成客户端集合呢?
提前感谢!
我正在尝试通过逐步进入EF方法来调试与实体框架5(在for Web 2012下)交互的代码,但是似乎EF5的符号在Microsoft符号服务器上不可用。我在2012年初发现了一条线索,似乎表明符号不存在,也不会添加:
但我认为这早于EF5的最终版本。简单地说:(仍然)微软的符号服务器不提供符号是真的吗?(假设是这样的)是否有另一种方法来获取EF5的符号并在VSEW 2012?中使用它们?
我刚刚将我的MVC4项目升级到.NET 4.5和EF5,并开始使用VS2012。在意识到我需要在Package中重新设置自动迁移之后,我运行了Enable-Migrations - EnableAutomaticMigrations并收到了错误。
No context type was found in the assembly 'MySolutionName'.
一些曾表示,这与EF5没有启用预告片有关。我运行了Install-Package EntityFramework -IncludePrerelease,但它说EF5已经安装了(这是我之前通过NuGetmanager安
我阅读了下面这篇关于EF5 的文章。
我使用VS2010,.NET 4.0和EF5 Model First方法,我不知道如何在VS2010 EF Designer中更改导航属性返回类型,而不更改自动生成的实体类。例如,我需要将导航属性返回类型从ICollection<T>更改为ObservableCollection<T>,但在属性视图中禁用了“返回类型”选项。
在将我的项目vs2010 ef 4移动到vs 2012 ef5之后,在我的项目中出现了一些模型上的DataAnnotations问题
[ForeignKey("StrIdDocumento")]
Can't find type or space name 'ForeignKey' [Lost using directive or assembly reference]
我删除了对EF4的引用,然后使用块块添加EF5。但是这个问题仍然存在。
注意:我的项目是一个带有c#和ASP.
在将EF与Repository和Unit of Work模式一起使用时。我之所以使用Unit of Work,是因为我需要使用类似事务的机制来处理多个实体。
我读了EF内部实现工作模式的单元,这样它就可以处理事务了。我正在使用泛型存储库模式处理EF5。您能指导我如何通过泛型存储库在EF5中使用现有的事务支持吗?
最近,我又回到了企业应用程序的NHibernate与EF5的问题上。我知道许多重要的区别,但这一点对我来说是最令人惊讶的。考虑两个经典实体,Customer和Order (1:n):
public class Customer
{
public Customer()
{
Orders = new HashSet<Order>();
}
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
**public virtual ICol
我正在从LINQ to SQL切换到EntityFramework 5。在LINQ to SQL中,我使用了这个函数,只根据它的类型得到一个表(VB代码):
Dim type As Type = myObject.GetType()
Dim context As MyEntities = New MyEntities()
query = context.GetTable(type).AsQueryable()
现在我在EF5中寻找一个等价的方法。我在SO上找到了答案,但我的上下文中没有一个名为CreateObjectSet的方法。这是因为EF4和EF5之间的差异,还是我错过了什么?
我正在将一个MVC3应用程序从EF4.3迁移到EF5。我注意到EF5需要在__MigrationHistory表中有一个CreatedOn列,这是不存在的,因为迁移是由旧版本创建的。
SELECT TOP (1)
[c].[CreatedOn] AS [CreatedOn]
FROM [dbo].[__MigrationHistory] AS [c]
如何在不擦除迁移历史的情况下解决此问题?我正在考虑一个从迁移名称推断列的值的查询,它的格式如下:
201203111201542_MigrationName
我有两个类,如下:
class Article
{
public int Id {get;set;}
public string Name {get;set;}
}
class DetailedArticle : Article
{
public string SerialNumber {get;set;}
}
我确实写了一篇文章,像这样:
var article = new Article {Id=1, Name="ItemName"}
现在,我想将文章对象类型从Article更改为DetailedArticle,属性保持不变(Id =1,Name=为“ItemN
我是一个全新的.Net编程新手,最近当我第一次尝试使用EF5模型时,我遇到了这个异常
Unable to verify the compatibility of the model because the DbContext instance was not created using Code First patterns. Unable to verify the compatibility of DbContext instances created from an ObjectContext or using an EDMX file.
我使用的是Visual Studio2012,我
我想为EF5定义一个枚举来使用,并定义一个相应的查找表。我知道EF5现在支持枚举,但是开箱即用,它似乎只支持对象级别的枚举,并且默认情况下不会为这些查找值添加表。
例如,我有一个用户实体:
public class User
{
int Id { get; set; }
string Name { get; set; }
UserType UserType { get; set; }
}
和一个UserType枚举:
public enum UserType
{
Member = 1,
Moderator = 2,
Administrator =