草庐IT

非递归

全部标签

c# - Entity Framework 数据库优先 - Table per hierarchy (TPH) 递归关系实现

我正在尝试使用EntityFramework5和数据库优先方法在其中一种具体类型上实现TPH递归关系。我有这样的概念模型和表结构:另外,我的数据库表中有这样的递归关系。ALTERTABLE[dbo].[BaseType]WITHCHECKADDCONSTRAINT[FK_BaseType_DerivedType]FOREIGNKEY([Derived1RecursiveId])REFERENCES[dbo].[BaseType]([Id])当我用这个关系更新模型时,我得到这样的图表:我的问题是:我如何在数据库中实现递归关系,以便在从数据库更新模型(刷新)时,在DerivedType1上

c# - 在 C# 中模拟 CTE 递归

假设有以下CTE返回我拥有的一些树数据(邻接模型)的级别(取自HierarchicaldatainLinq-optionsandperformance):WITHhierarchy_cte(id,parent_id,data,lvl)AS(SELECTid,parent_id,data,0ASlvlFROMdbo.hierarchical_tableWHERE(parent_idISNULL)UNIONALLSELECTt1.id,t1.parent_id,t1.data,h.lvl+1ASlvlFROMdbo.hierarchical_tableASt1INNERJOINhierar

c# - 如何在 Entity Framework 代码优先方法中映射自身的递归关系

我想要创建的只是基本的递归类别。如果RootCategory_Id设置为null,则类别为根;如果设置为某个id,则它属于其他某个类别。我在Seed()方法中添加了带有两个子类别的类别进行测试,但它不起作用。(后来查了DB,有插入)类别模型publicclassCategory{publicintID{get;set;}publicCategoryRootCategory{get;set;}//Thisoneworksgood,italsocreates"RootCategory_Id"indatabaseon"update-database"publicICollectionChil

c# - 为什么此递归不产生 StackOverFlowException?

这段代码有什么问题:usingSystem;namespaceapp1{staticclassProgram{staticintx=0;staticvoidMain(){fn1();}staticvoidfn1(){Console.WriteLine(x++);fn1();}}}我使用这个命令编译这段代码:csc/warn:0/out:app4noex.exeapp4.cs当我双击exe时,它似乎没有抛出异常(StackOverFlowException),并一直运行下去。使用visualstudio命令提示符2010,但我还在系统上安装了vs2012,都是最新的。

c# - SSH.NET SFTP 递归获取目录和文件列表

我正在使用Renci.SshNet库通过SFTP递归地获取文件和目录列表。我可以连接SFTP站点,但我不确定如何在C#中递归获取目录和文件列表。我还没有找到任何有用的例子。有人试过吗?如果是这样,您能否发布一些有关如何递归获取这些文件和文件夹的示例代码。谢谢,真理 最佳答案 这个库有一些怪癖使这个递归列表变得棘手,因为ChangeDirectory和ListDirectory之间的交互并不像您预期​​的那样工作。以下内容不列出/home目录中的文件,而是列出/(根)目录中的文件:sftp.ChangeDirectory("home"

c# - 如何使用 json.net 进行 json 的递归下降?

我正在尝试使用json.net解析一个json文件。该文件看起来像这样{X:{Title:"foo",xxxx:xxxx}}{Y:{ZZ:{Title:"bar",...}}}我正在尝试递归处理此结构,以处理所有具有Title属性的对象。但是我对JToken、JProperty、JContainer、JValue、JObject感到困惑。阅读源代码并没有让我变得更聪明,而且这些示例都没有帮助。我想要一些类似的东西WalkNode(node,Actionaction){foreach(varchildinnode.Children){Action(child);WalkNode(chil

c# - 如何递归加载 Azure blob 文件列表?

Azureblob文件存储在没有任何物理文件夹结构的普通列表中,但我们可以创建虚拟文件夹,其中每个文件的文件夹路径都是其名称的一部分。这带来了另一个问题,如何仅使用该文件夹的名称来检索虚拟子文件夹中所有文件的列表? 最佳答案 实际上,有一种更简单的方法可以做到这一点,并且它在库本身中可用。如果你看CloudBlobContainer.ListBlobs方法,它接受两个参数:prefix:这是您的目录名称。如果它是嵌套目录,则需要指定完整路径,例如我的文件夹/我的子文件夹。useFlatBlobListing:将此值设置为true将确

c# - 是否可以实现递归 "SelectMany"?

众所周知,Enumerable.SelectMany将一系列序列展平为单个序列。如果我们想要一种可以压平序列序列序列的序列的方法,等等递归怎么办?我很快想出了一个使用ICollection的实现,即急切地评估,但我仍在摸索如何制作一个懒惰评估的,比如说,使用yield关键字。staticListFlatten(IEnumerablelist){varrv=newList();InnerFlatten(list,rv);returnrv;}staticvoidInnerFlatten(IEnumerablelist,ICollectionacc){foreach(vareleminlis

c# - Linq扩展方法,如何在集合递归中查找子项

我已经熟悉Linq,但对扩展方法知之甚少,希望有人能帮助我。所以我有这个分层集合伪代码即:classProductpropnameproptypepropidpropListchildren我有一个产品列表Listproducts.有什么方法可以通过扩展方法通过id查找此集合中的产品吗?换句话说,我需要层次结构中某处的一项。 最佳答案 这是一个通用的解决方案,一旦找到匹配项,它就会短路层次结构的遍历。publicstaticclassMyExtensions{publicstaticTFirstOrDefaultFromMany(t

c# - ASP.NET 中的递归 TreeView

我有一个列表类型的对象,我希望用它来填充asp.netc#中的TreeView。每个对象项都有:id|Name|ParentId例如:id|Name|ParentId-------------------------1|Alice|02|Bob|13|Charlie|14|David|2在上面的例子中,parent是爱丽丝,她有两个child鲍勃和查理。大卫是鲍勃的child。我在尝试在c#ASP.NET中递归地动态填充TreeView时遇到了很多问题有没有人有一个简单的解决方案?顺便说一句:您可以使用People.Id、People.Name和People.ParentId来访问成员