gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:52:52 27 4
gpt4 key购买 nike

我正在开发允许用户创建订单的小型 Silverlight 应用程序。我创建了 Linq 2 SQL dbml 并将我的数据库表“Orders”和“OrderLines”拖到那里,它们之间存在关联。 Order.ID ~ OrderLine.OrderID,然后我为我的表创建了 DomainService,在那里我启用了客户端访问,它为我生成了方法,Insert、Update、Delete、Get,用于 Orders 和 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’的第一次机会异常”

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

最佳答案

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

关于linq-to-sql - Linq 2 SQL,将具有关联子对象列表的对象插入数据库,Silverlight RIA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1636618/

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