小编imu*_*kai的帖子

EF Core Collection Load .. of Collection

使用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,我别无选择吗?

c# navigation-properties entity-framework-core

7
推荐指数
1
解决办法
2087
查看次数

日期的 ADO 记录集类型

警告:经典 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 返回?

在这种情况下,可能无法将数据库字段从日期更改为日期时间,即使这可能是获取预期数据的逻辑路径。

sql-server types adodb recordset asp-classic

3
推荐指数
1
解决办法
6229
查看次数