Linq 2 SQL,将具有关联子对象列表的对象插入数据库,Silverlight RIA

2023-12-28

我正在做小型 Silverlight 应用程序,它允许用户创建订单。我创建了 Linq 2 SQL dbml 并将我的数据库表“Orders”和“OrderLines”拖到那里,它们之间存在关联。 Order.ID ~ OrderLine.OrderID,所以我为我的表创建了 DomainService,在其中启用了客户端访问,它为我生成了用于订单和 OrderLines 的方法,插入、更新、删除、获取,现在我正在创建新订单我的 silverlight 应用程序,用户控件如下所示:

 public partial class NewOrderView : UserControl
{
    public ObservableCollection<OrderLine> OrderLines { get; set; }
    public NewOrderView()
    {
        InitializeComponent();
        OrderLines = new ObservableCollection<OrderLine>();
        dataGrid.ItemsSource = OrderLines;
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        var order = new Order();
        foreach (var orderLine in OrderLines)
        {
            order.OrderLines.Add(orderLine);
        }
        order.CompanyId = int.Parse(StaticContainer.CurrentUser.CompanyId.ToString());
        order.CreationDate = DateTime.Now;
        order.Status = "შეკვეთილი";
        order.Id = 1;
        var ctx = new EntreeDomainContext();
        ctx.Orders.Add(order);
        ctx.SubmitChanges();
    }

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        StaticContainer.Navigation.Back();
    }

    private void Button_Click_2(object sender, RoutedEventArgs e)
    {
        StaticContainer.Navigation.LogOut();
    }

    private void AddProduct(object sender, ProductAdditionEventHandlerArgs args)
    {
        var result = OrderLines.Where(x => x.Item.itmKEY == args.Product.itmKEY).FirstOrDefault();
        if(result==null)
        OrderLines.Add(new OrderLine(){Item = args.Product});
    }
}

和域服务方法:

 public void InsertOrder(Order order)
    {
        Context.Orders.InsertOnSubmit(order);
        Context.SubmitChanges();
    }

我在这里放置了断点,线程来到这里,一切都正常。但之后数据库中不存在订单和订单行。输出写入:“System.Data.Linq.dll 中发生了类型为‘System.Data.SqlClient.SqlException’的第一次机会异常”

我能做些什么? 请帮忙,谢谢。


您是否从头开始创建订单行?如果是这样,您需要确保它们是新的,并且您正在为您添加的每个 OrderLine 调用 Context.OrderLines.InsertOnSubmit(orderLine) ,否则您会遇到这样的问题。另外,您应该在此处提供所有异常详细信息...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linq 2 SQL,将具有关联子对象列表的对象插入数据库,Silverlight RIA 的相关文章

  • ASP.NET 搜索表单 - 动态 Linq to SQL?

    我有一个搜索表单 允许用户以多种不同的方式搜索多个不同的字段 这是我的代码的示例 var claims from c in db Claims select c switch ddlSearchField Text case StartsW
  • 在数据库中建模抽象基类和子类

    我有4个子类 Video Image Note and Form 每一项都包含不同类型的数据 例如 Image类包含磁盘上图像文件的路径和图像属性 以及Form类包含表单字段值 然而 每个项目之间的共同元素是 GPS 坐标和航向 因此我有以
  • 如何使用 FLinq 在 F# 中进行外连接?

    问题几乎说明了一切 我有一个如下形式的大 flinq 查询 for alias1 in table1 do for alias2 in table2 do if alias1 Id alias2 foreignId 使用这种形式 如何在这两
  • LinqToSql 声明和实例化 DataContext 最佳实践?

    设置 DataContext 以便在扩展 LinqToSql 类中轻松访问方面的最佳实践是什么 例如 我的 dbml 中有一个 User 实体 我想向该类添加方法 如下所示 Partial Public Class User Public
  • 创建可重用的 LINQ to SQL 块

    我正在尝试分解 linq to sql 查询以使它们更具可读性 假设我想退回上一年订单超过 100 个的产品的所有订单 我有这样的疑问 from o in context Orders where from o1 in context Or
  • 方法 X 不支持对 SQL 的转换 - 布尔值和日期时间

    有人建议如何使 LINQ to SQL 支持此功能吗 public bool IsEnabled return this Disabled this EnabledFrom HasValue this EnabledFrom lt Date
  • LINQ to SQL 投影:Func 与 Inline

    在使用 Func 的 LINQ to SQL 查询中使用投影时 我发现一些意外行为 示例代码比文字更能解释 使用投影的基本 L2S lambda 查询 db Entities Select e gt new DTO e Value 它会转换
  • 具有条件连接和非匿名返回的 LINQ 查询

    我有一个针对 SQL Server 数据库的 LINQ 查询 该查询将每行的数据写入一个对象Person 在某些情况下 我想加入其他表并添加更多字段Person对象 同时利用 LINQ 延迟加载 The Person类看起来像这样 publ
  • 实体框架、LinqToSQL 和 sql 注入

    完全使用 Linq To SQL 或实体框架的项目是否有可能遭受 SQL 注入 我认为这可能不是因为 ORM 生成的 SQL 应该是免 SQL 注入的 但我不确定 当您按预期使用这些框架时 即直接使用实体 表 那么就不会 所有字符串比较 即
  • LINQ-To-SQL 如何防止 SQL 注入?

    我目前正在使用 C 和 LINQ TO SQL 做一个项目 这个项目将安全性作为高优先级 所以显然我想防止 SQL 注入 我用谷歌搜索了此事 但 没有发现任何有用的信息 微软自己的常见问题解答告诉我 由于 LINQ 处理参数的方式 注入不会
  • 同一个表的多个外键

    我有一个参考表 其中包含性别 地址类型 联系人类型等各种受控值查找数据 许多表都有指向该参考表的多个外键 我还有多对多关联表 其中同一个表有两个外键 不幸的是 当这些表被拉入 Linq 模型并生成 DBML 时 SQLMetal 不会查看外
  • 具有两个表的谓词构建器

    A Party可以有一个或多个Contact对象 我想选择全部Parties谁的街道名称包含特定关键字 如果我只想搜索Party我可以使用下面的代码 但我如何扩展它来搜索Contact public IQueryable
  • 从基本控制器继承 LINQ-to-SQL 数据上下文

    我的基本控制器类 BaseController 由面向公众的控制器继承 用于使用 LINQ to SQL 访问请求之间的共享数据上下文 我是否可以通过将数据存储在中来以高效且安全的方式访问我的数据上下文HttpContext Current
  • 方法“Boolean Contains(System.String)”不支持对 SQL 的转换

    方法 Boolean Contains System String 不支持对 SQL 的转换 查询是 IsQueryable 但这停止工作 foreach string s in collection1 if s Length gt 0 q
  • 与常规 SQL 查询不同,为什么“linq to sql”查询以 FROM 关键字开头?

    为什么 linq to sql 查询以FROM与常规 SQL 查询不同的关键字 LINQ 模仿Logical Query processing在 SQL 中你有 8 SELECT 9 DISTINCT 11 TOP 1 FROM 2 ON
  • 比较 LINQ to SQL 中的两个日期

    我有一个数据库 其中有一个名为会议的表 会议日期使用以下格式存储在此表中 May 2nd 2011 例如 格式为5 2 2011 我的要求是获取两个日期 例如 2011 年 4 月 25 日和 2011 年 5 月 2 日 之间的会议 并编
  • Linq to SQL DTO 和复合对象

    我使用与其他人类似的方法将 LINQ 对象保留在 LINQ 数据提供程序中并返回 IQueryable 以允许过滤等 这对于按 ID 或其他属性过滤简单对象来说效果很好 但我遇到了问题由其他子对象组成的连接表对象 CoreDBDataCon
  • LINQ to SQL DataContext 缓存

    我使用 Linq to SQL 作为我的 DAL 层 在单元测试期间我发现我的对象不是从数据库返回 而是从 DataContext 缓存返回 奇怪的是 当对象从缓存返回时 为什么需要单独调用数据库来获取所有字段 不管怎样 我实现了一个 Cl
  • 使用“NOT IN”的 LINQ to SQL 查询

    可以使用 LINQ to SQL 查询NOT IN 例如 SELECT au lname 声明 FROM 作者 WHERE 声明 NOT IN CA IN MD List
  • Linq To SQL - 拥有和分组依据

    我下面这个查询工作正常 不过我想使用 Linq 来实现它 select u ID u NAME from Task t join BuildingUser bu ON bu ID BUILDING t ID BUILDING join Us

随机推荐