Я делаю небольшое приложение Silverlight, которое позволит пользователям создавать заказы. Я создал Linq 2 SQL dbml и перетащил туда свои таблицы базы данных "Orders" и "OrderLines", между ними есть связь. Order.ID ~ OrderLine.OrderID, поэтому я создал DomainService для своих таблиц, где я включил клиентский доступ, он сгенерировал для меня методы Insert, Update, Delete, Get, для Orders и OrderLines, теперь я создаю New Order из мое приложение silverlight, usercontrol выглядит так:
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.SqlClient.SqlException »произошло в System.Data.Linq.dll»
что я могу сделать?
Пожалуйста, помогите, и спасибо.