使用EF Core 1.1.0
我有一个模型,其集合本身就有集合.
public class A {
public string Ay {get;set;}
public List<B> Bees {get;set;}
}
public class B {
public string Be {get;set;}
public List<C> Seas {get;set;}
}
public class C {
public string See {get;set;}
public bool InDark {get;set;}
public List<D> Sigh {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
现在.. A是巨大的,99%的时间我不关心B,所以它不会被加载.如果我加载它,那将是这样的:
context.A.Include(a=>a.Bees).ThenInclude(b=>b.Seas).ThenInclude(c=>c.Sigh)...
Run Code Online (Sandbox Code Playgroud)
现在让我们说我已经加载了A并且1%恰好让我关心B.我们还没有延迟加载,但最后一个版本确实给了我们明确的加载.真棒.
context.Entry(A).Collection(a=>a.Bees).Load();
Run Code Online (Sandbox Code Playgroud)
问题似乎是没有办法在B中包含额外的集合?除了用.Include.ThenInclude.ThenInclude.Etc重新加载A,我别无选择吗?
警告:经典 ASP 领先。:)
我正在处理一个旧的经典 ASP 应用程序,但我遇到了一个奇怪的 ADODB.Recordset 对象。
我有一个包含特定字段的 SQL2012 数据库表。我们称之为AnnoyingField。它在 SQL 中的数据类型是“日期”。
ASP 在表上打开一个带有 SELECT 的 ADODB.Recordset 来收集字段,然后执行一些循环来完成它的工作:
For each Field in rs.Fields
typeid = rs(Field.Name).Type
'do stuff based on type
Run Code Online (Sandbox Code Playgroud)
出于某种原因,AnnoyingField的类型返回为 202 (nvarchar),而不是日期的预期类型之一(133 甚至 7)。这在代码中导致了一些问题。
我用另一个“日期时间”类型的字段进行了测试,记录集代码返回了日期时间字段的预期类型.. 135。
任何人都知道为什么“日期”字段作为 nvarchar 返回?
在这种情况下,可能无法将数据库字段从日期更改为日期时间,即使这可能是获取预期数据的逻辑路径。