我试图围绕EF核心拥有的对象,以及如何控制何时加载某些数据块。
基本上,我有一堆旧的遗留表(有些有大约150列),并且希望使用根实体和每个表拥有的几个对象对它们进行建模,以实现更好的分段和绑定某些功能。示例:有一个“项目”实体,包含基础表中最重要的字段的大约20个属性。该实体还包含一个OwnedObject "StorageDetails“,包装了十几个字段(以及与存储内容有关的所有函数)。
问题:我无法找到一种方法来控制是否应该立即加载一个拥有的对象。对于其中一些人,我倾向于使用Include()显式地加载它们.
public class Article : EntityBase
{
我正在使用Entity Framework5用C# (.NET 4.5)编写一个简单的数据库应用程序。在这种情况下,我可能需要也可能不需要加载单个实体的相关实体。如果我需要加载实体的相关实体,我希望立即加载相关实体的相关实体。基本上,我试图避免"SELECT N+1“问题。希望下面的代码能让我想要做的事情变得清晰起来:
using (var ctx = new DbContext())
{
// Find a single instance of a person. I don't want to eagerly load
// the person'
我已经了解了延迟加载、使用.include的预加载和使用.load()的显式加载,但是当您在查询中投影并显式请求如下导航属性时,会让我感到困惑:
var address = from a in context.Addresses
select {a, Name = a.Contact.Name}
在这里,联系人是链接到联系人实体的地址中的导航属性。
我尝试了打开和关闭延迟加载,它是双向工作的。我想知道当我像这样请求我的数据时,我是急切加载还是延迟加载?我的理解是只会对数据库进行一次查询,这意味着它是立即加载的,除了这种情况下只会加载联系人实体的"Name“属
我经常使用System.Data.Entity.DbExtensions Include()方法将复杂的实体字段包含在我的存储库的查询结果中。但是,当我将实体投影到新的类中时,我似乎失去了对包含的复杂实体字段的“具体化”。例如,假设我想从我的存储库返回一个Event对象,并且能够访问复杂的实体字段Assessment
public class EventRepository {
...
public IList<Event> GetEvents() {
using (var context = new MyDatabaseContext()) {
我在DbContext中使用EF4.3。
我有一个存储在缓存中的实体,因此在转换为列表并将其弹出到缓存之前,我需要立即加载必要的数据。
我的数据库是标准化的,所以数据分布在几个表中。基本实体是“用户”,用户可以是也可以不是“订阅者”,订阅者可以是“贡献者”、“成员”或“管理员”中的一种。
目前,由于我缺乏EF,Linq等人的知识,整个fetch不是很优雅。
public static User Get(Guid userId)
{
Guard.ThrowIfDefault(userId, "userId");
var r = n
假设有几个实体,发票和InvoiceRow,我想通过总结每一行的金额来计算总金额。
public class Invoice
{
[Key]
public int? Id { get; set; }
public List<InvoiceRow> Rows { get; } = new List<InvoiceRow>();
[NotMapped]
public decimal TotalAmount => Rows.Sum(row => row.RowAmount);
}
public class Invo
好的,我是C++的初学者,使用Visual C++ 2010作为我的编译器。我有一个任务来创建一个计算约翰史密斯的净工资和预算的程序。我应该能够使用字符串变量'John‘,我使用了#include。我不知道为什么它说我超过了字符计数,因为我应该使用一个字符串,而不是一个变量。对不起,过多的评论,他们是需要的任务。我确信这是一种非常基本的代码格式,但正如我所说,我是新来的。提前感谢
// Module 2 Programming Challenge Right.cpp : Defines the entry point for the console application.
//
我只需要从一个列表中加载5个元素,而不需要加载所有列表。我有两个实体:
public class Company
{
public int ID { get; set; }
public String Name{ get; set; }
public List<Employee> EmployeeList{ get; set; }
}
以及:
public class Employee
{
public int ID { get; set; }
public String Name{ get; set; }
}
我只需要
我有下面的型号。在使用find方法从DB获取时,加载带有子实体的父实体的更好方法是什么?
父实体:
public class Client
{
public int Id { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public DateTime DateOfBirth { get; set; }
public Address Address { get; set; }
}
子实体:
public class Addre
在学习有关实体框架MSDN中相关实体加载的时,我遇到了以下情况:
还可以急切地加载、多个相关实体级别的。下面的查询显示了如何对集合和引用导航属性执行此操作的示例。
...Examples展示了上述.
请注意,目前无法筛选加载的相关实体。包括将始终在所有相关实体。
这似乎有点令人困惑,因为这两种说法似乎相互矛盾。我是不是漏掉了什么?
例如,我可以为我正在查询的每个Mother Child指定Children导航属性,如下所示:
Dim myQuery = From children In context.Children.Include("Mother")
我有一个索引,它有一个包含很多术语的字段(这是一个简历,所以它有职业,教育,爱好等信息)。我想使用Elasticsearch来查询给定的类似的bios。
我正在使用匹配查询。这给了我一些好的结果,但我不确定这是不是最好的方法。
GET /jdbc/_search?pretty
{
"query": {
"match": {
"bio": {
"query": "Jack Reacher, 42, is Vice President of Contoso since 2009. Mr
我正在使用EntityFramework 5.0与代码优先。我有这样的POCO类食物:
public class Bar
{
public int FooID { get; set; }
public virtual Foo Foo { get; set; }
public int OtherFooID { get; set; }
public virtual Foo OtherFoo { get; set; }
}
在我的DbContext中,延迟加载是打开的。当我从上下文加载Foo时,属性"Foo“是延迟加载的,使用FooID作为外键。但是,无论我
我想有条件地加载一个实体及其子实体(我只想在child.IsActive ==为true时立即加载子实体)。如何执行以下操作?
var parent =
from p in db.tblParents.Include("tblChildren") <-- where tblChildren.IsActive == true
where p.PrimaryKey == 1
select p;
注意:我不想返回匿名类型。
谢谢。
我跟踪Linq到实体状态。
var records = from c in db.l_rate_his
select new testing { namec.l_rate.name, labo = c.rate};
我正在尝试将其转换为lambda表达式。我已经走了这么远
var records1 = db.l_rate_his.Include(p => p.labor_rate).ToArray();
如何完成lambda表达式以包含对象属性?
下面的代码是WCF项目。我使用EntityFramekwork (v.6)加载表的子数据。代码如下所示。
这是存储库中的代码。
public IEnumerable<Messages> GetMessagesList()
{
return context.Messages.Include(e=>e.Users).Include(e=>e.Codes).ToList();
}
这是服务中的代码:
public IEnumerable<Messages> GetMessagesList()
{
var res = messagesReposito
最近,我将Hibernate搜索添加到具有现有实体类的现有项目中,并用索引/字段标记了几个实体和字段。
但是,我在引导时得到了以下异常:
org.hibernate.search.SearchException: HSEARCH000135: Unable to guess FieldBridge for <some entity class which is not marked with @Indexed>
提到的类不时变化,但它不是标记为@Indexed的类,也不是与被索引的实体相关的类。
它为什么要看这些课程?
我在JPA2中使用Hibernate 4.2.8,Hibern