小编Bag*_*esa的帖子

实体框架一对多可以实现

所以,我是jugglin与本教程,因为我需要优化一些查询.但是,我意识到在一对多关系中,EF倾向于首先检索所有相关行,并在内存中进行进一步查询 - 效率有点低,并且可能会将您的内存咀嚼到最后一位.是否有任何方法(或最佳实践)在EF中挂钩一对多(或许多对多)关系,返回IQueryable而不是ICollection?

基本EF一对多

public class parent
{
   [Key]
   public int ParentId;
   public string Name;
   public virtual ICollection<Child> Childs;
}

public class Child
{
  [Key]
  public int ChildId;
  public string Name;
  public int ParentId;
  [ForeignKey("ParentId")]
  Public Parent Parent;
}
Run Code Online (Sandbox Code Playgroud)

好吧,作为一些背景信息,我来自Laravel.也许只是我期待C#.Net上不存在.但是,在内存中记录3000+记录的Linq并不好玩,特别是如果你只需要很少的话.我错过了什么吗?我已经阅读了这个问题,它只是简单地.Where通过id来检索关系,因为它会分散(并且不安全)ORM的定义 - 使密钥管理集中化,上层不需要知道什么定义了对象的关系.拜托,赐教.

编辑 谢谢谁投了这个投票.对此,我真的非常感激.干杯.

.net c# orm entity-framework-6

6
推荐指数
0
解决办法
520
查看次数

Azure Functions 中的高内存占用

我在 .NET Core 上使用一些简单的 C# 代码来查看 Azure Functions 的执行情况。

\n\n

用例是这样的:将 1000 万个 int 值添加到 ArrayList 作为 Azure 函数的一部分,并使用设置为 1 分钟的时间触发器来调用该函数。(我知道 ArrayList 已过时,不再使用,但我只是使用它来在堆上分配大量空间)。\n因此该函数的 C# 代码是这样的:

\n\n
using System.Collections;\n\npublic static void Run(TimerInfo myTimer, ILogger log)\n{\n    ArrayList numbers = new ArrayList();\n    Random random = new Random(1);\n    int noNumbers = 10000000;\n    for(int i=0;i<noNumbers;i++) {\n        numbers.Add(random.Next(10));\n    }\n\n    log.LogInformation($"Created an ArrayList of {numbers.Count} elements");\n    log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我检查了平台设置,发现这是 32 位的(我假设这是指 .NET Core 运行时为 32 位):

\n\n

在此输入图像描述

\n\n

在“桌面”环境中运行相同的示例代码,针对 …

c# memory azure azure-functions

5
推荐指数
0
解决办法
2434
查看次数

使用 gson 从 JsonArray 获取值

我到处搜索,但找不到如何做到这一点,我被卡住了。我没有使用 JSON 文件的经验,因此对勺子喂食和解释表示赞赏。

我在这里有这个 JSON 文本用于测试:

    {
      "id":"4566e69fc90748ee8d71d7ba5aa00d20",
      "properties":
                    [
                     {
                      "name":"textures",
                      "value":"eyJ0aW1lc3RhbXAiOjE0ODI4ODAxNDMwNzYsInByb2ZpbGVJZCI6IjQ1NjZlNjlmYzkwNzQ4ZWU4ZDcxZDdiYTVhYTAwZDIwIiwicHJvZmlsZU5hbWUiOiJUaGlua29mZGVhdGgiLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTNlODFiOWUxOWFiMWVmMTdhOTBjMGFhNGUxMDg1ZmMxM2NkNDdjZWQ1YTdhMWE0OTI4MDNiMzU2MWU0YTE1YiJ9LCJDQVBFIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjJiOWM1ZWE3NjNjODZmYzVjYWVhMzNkODJiMGZhNjVhN2MyMjhmZDMyMWJhNTQ3NjZlYTk1YTNkMGI5NzkzIn19fQ==",
                     },
                    ],
      "name":"Thinkofdeath",
    }
Run Code Online (Sandbox Code Playgroud)

我目前有这个:

    JsonElement playerProfile = new JsonParser().parse(jsonLine);
    JsonObject jsonProfile = playerProfile.getAsJsonObject();
    JsonArray properties = jsonProfile.getAsJsonArray("properties");
Run Code Online (Sandbox Code Playgroud)

哪个返回 [

[
  {
    "name":"textures",
    "value":"eyJ0aW1lc3RhbXAiOjE0ODI4ODAxNDMwNzYsInByb2ZpbGVJZCI6IjQ1NjZlNjlmYzkwNzQ4ZWU4ZDcxZDdiYTVhYTAwZDIwIiwicHJvZmlsZU5hbWUiOiJUaGlua29mZGVhdGgiLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTNlODFiOWUxOWFiMWVmMTdhOTBjMGFhNGUxMDg1ZmMxM2NkNDdjZWQ1YTdhMWE0OTI4MDNiMzU2MWU0YTE1YiJ9LCJDQVBFIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjJiOWM1ZWE3NjNjODZmYzVjYWVhMzNkODJiMGZhNjVhN2MyMjhmZDMyMWJhNTQ3NjZlYTk1YTNkMGI5NzkzIn19fQ==",
  },
]
Run Code Online (Sandbox Code Playgroud)

当然。我如何从这个 JsonArray 中获取“值”?注意我使用的是 Google 的 API,Gson

java arrays json gson

4
推荐指数
1
解决办法
9584
查看次数

Partial Templates Location in Phalcon

Where should partial templates files be placed in Phalcon? Is there any config for that?

php phalcon

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

标签 统计

c# ×2

.net ×1

arrays ×1

azure ×1

azure-functions ×1

entity-framework-6 ×1

gson ×1

java ×1

json ×1

memory ×1

orm ×1

phalcon ×1

php ×1