如何在应用程序启动之前或生成数据库之后处理需要预先存在的数据的情况。 例如,我有一个我想在代码优先生成之后加载到数据库中的国家列表。 我该怎么做呢? 应用程序的结构如下: Repository > Service > WebMVC xml在WebMVC项目中。
我目前正在使用entity framework的最新版本的项目,我遇到了一个我似乎无法解决的问题。 当涉及到更新现有对象时,我可以很容易地更新对象属性,直到涉及到另一个类的引用。 在下面的例子中,我有一个名为Foo的类,它存储各种属性,其中2个是其他类的实例 public class Foo { public int Id {get; set;} public string Name {get; set;} public SubFoo SubFoo {get; set} public AnotherSubFoo AnotherSubFoo {get; set} } 当我使用下面的Edit方法时,我传递了我希望更新的对象,并且我可以设法让Name正确更新,但是我没有设法find一种方法来获取SubFoo的属性。 例如,如果SubFoo类具有Name属性,并且已经更改,并且在我的数据库和newFoo之间不同,它不会被更新。 public Foo Edit(Foo newFoo) { var dbFoo = context.Foo .Include(x => x.SubFoo) .Include(x => x.AnotherSubFoo) .Single(c => c.Id == newFoo.Id); var entry = context.Entry<Foo>(dbFoo); […]
有没有办法使这个强types使用System.Data.Entity.Include方法? 在下面的方法中,Escalation是一个ICollection <>。 public IEnumerable<EscalationType> GetAllTypes() { Database.Configuration.LazyLoadingEnabled = false; return Database.EscalationTypes .Include("Escalation") .Include("Escalation.Primary") .Include("Escalation.Backup") .Include("Escalation.Primary.ContactInformation") .Include("Escalation.Backup.ContactInformation").ToList(); }
sql server表: SomeId PK varchar(50) not null OtherId PK int not null 我应该如何将它映射到EF 6代码中? public class MyTable { [Key] public string SomeId { get; set; } [Key] public int OtherId { get; set; } } 我已经看到一些例子,你必须设置每个列的顺序,是必需的? 这个地方有官方文档吗?
我已经在Visual Studio 2012中使用了entity framework。通过“反向工程代码优先”构build实体模型。 但是,当我刚刚设置Visual Studio 2015,并通过NuGet设置EF电源工具时,我找不到“反向工程代码优先”选项。 任何人都知道我该怎么办? 谢谢!
我需要将这个SQL语句翻译成Linq-Entity查询… SELECT name, count(name) FROM people GROUP by name
我正在使用entity framework6一些Web API的东西,我的控制器方法之一是“Get All”,希望从IQueryable<Entity>从我的数据库接收表的内容。 在我的存储库中,我想知道是否有任何有利的原因asynchronous做这个,因为我是新来使用EF与asynchronous。 基本上归结为 public async Task<IQueryable<URL>> GetAllUrlsAsync() { var urls = await context.Urls.ToListAsync(); return urls.AsQueryable(); } VS public IQueryable<URL> GetAllUrls() { return context.Urls.AsQueryable(); } asynchronous版本实际上会在这里产生性能优势,还是我通过首先投影到列表(使用asynchronous介意你)然后去IQueryable?
我刚刚开始使用Entity框架,对于通常在业务层中的类如何与由Entity Framework创build的实体相适应,我感到困惑。 当使用传统的ADO.NET时,我将有一个名为Customer的类,然后是另一个名为DALCustomer的类来处理数据库交互,在这个结构中,我将把代码进行计算,过滤和删除DAL的一个实例客户在客户类中保存,更新和删除。 使用entity framework,如果您有一个名为Customer的表,Entity框架将创build一个名为Customer的实体,这是我开始混淆的地方,这个实体是否会在业务层中删除对Customer的需求? 所以实质上所有通常在业务层中进行的字段和方法都进入entity framework生成的实体中? 或者,如果一个类仍然存在于名为CustomerBL的业务层中,那么它仍然包含完成计算所需的业务逻辑所需的字段和方法,并且仍然需要一个EF DAL实例来声明处理数据访问? 如果应该有一个业务类,在这种情况下CustomerBL,另一个问题跳转,顾客实体中创build的字段应在CustomerBL中重新创build,或者如果客户实体的一个实例在CustomerBL中声明,所以会有没有必要在两个地方声明字段?
我一直听到entity frameworkstream利的API,但我很努力地find一个很好的参考。 它是什么? 我们使用entity framework和提供的build模工具。 那就是这一切吗? 还是有点不同? 同样,如果问题不是太广泛,POCO是什么? 我知道它代表简单的旧CLR对象,但是对于我来说,对于使用EF的devise师模型工具来说,这意味着什么呢? 如果这个问题太模糊,请忽略它。 我只是在这里学习,你愿意提供的任何信息都是有帮助的。
我意识到很多问题都被问及全文search和entity framework,但我希望这个问题有点不同。 我使用的是entity framework,Code First,需要进行全文search。 当我需要执行全文search时,我通常也会有其他标准/限制 – 比如跳过前500行,或者在另一列上过滤等等。 我看到这已经使用表值函数处理 – 请参阅http://sqlblogcasts.com/blogs/simons/archive/2008/12/18/LINQ-to-SQL—Enabling-Fulltext-searching.aspx 。 这似乎是正确的想法。 不幸的是,直到entity framework5.0(即使那样,我相信它们不被Code First支持),表值函数也不被支持。 我真正的问题是什么build议最好的方式来处理这个,entity framework4.3和entity framework5.0。 但具体来说: 除了dynamicSQL(例如通过System.Data.Entity.DbSet.SqlQuery ),是否有任何选项可用于Entity Framework 4.3? 如果我升级到entity framework5.0,有没有办法,我可以使用表值函数与代码第一? 谢谢,埃里克