gpt4 book ai didi

.net - 如何通过 WCF 使用 LinqToSql 维护子对象?

转载 作者:行者123 更新时间:2023-12-01 10:16:29 26 4
gpt4 key购买 nike

我目前正卡在这个解决方案的设计中。

数据层设计包括以下内容:

  • 配方(父高级对象)
    • 语言详细信息(名称、语言描述)(很多)
      • 标题(很多)
      • 步骤(很多)
        • 成分(很多)
        • 数量(很多)
        • 程序(很多)
      • 笔记(很多)

我面临的挑战是如何创建一个数据访问设计,以便在从 WCF SaveRecipe(recipe) 方法填充对象时添加/删除数据库中的子对象?

这一切都源于管理层要求我们在我们的应用程序中添加一个通信层,现在我们的 UI 耦合到我们的业务层,而 BL 直接耦合到 DAL,我们基本上需要在BL 和 DAL。

我已阅读 this thread使用 L2S 不是 WCF 的好主意,但由于设计不是新的,我们必须使用这种类型的方法,然后一旦我们可以重构大量的 UI 工作就放弃它。

最佳答案

如果您正尝试使用 WCF 发送数据,我建议您创建一个数据模型,以便在您的域中移动。据我所知,您无法序列化 IQueryable 对象,但您可以创建一组 Linq 填充的类,然后对其进行序列化。例如:

[DataContract]
public class Recipe {

[DataMember]
public string Name { get; set; }

[DataMember]
public string Description { get; set; }

[DataMember]
public List<Ingredient> Ingredients { get; set; }

}

然后填满

List<Recipe> recipes = (from r in dc.recipe
select new Recpie {
Name = r.name,
Description = r.description,
Ingredients = (Linq code to make list of ingredients)
}).ToList();

然后使用 WCF 发送列表变得轻而易举。

关于.net - 如何通过 WCF 使用 LinqToSql 维护子对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/403365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com