解决 一个或多个实体的验证失败

合法模因

会员
已加入
五月5,2019
留言内容
13
编程经验
Beginner
我正在尝试创建一个网站,您可以在其中订购比萨饼。我目前正在按照Bob Tabor的课程学习,遇到了2个问题(第二个问题已解决):

问题1 *解决了吗? (请参见编辑2)*: 当我尝试将订单(客户制作的订单)保存到数据库中时,出现以下异常:
一个或多个实体的验证失败。有关更多详细信息,请参见'EntityValidationErrors'属性。

并显示此页面:

这些代码行在 例外:

内部[Solution.web]:
protected void Page_Load(object sender, EventArgs e)
{
    CustomerRepository.SaveCustomers();
    OrderRepository.SaveOrders();
}

内部[Solution.domain]:
public static void SaveCustomers()
{
    persistance.CustomerExtract.InputCustomer(currentCustomer);
}

&

public static void SaveOrders()
{
    persistance.OrderExtract.InputOrders(currentOrders);
}

内部[Solution.Persistance]:
public static void InputCustomer(DTO.Customer DTOcustomer)
{
    Customer customer = new Customer() { Adress = DTOcustomer.Adress, Id = DTOcustomer.Id, Name = DTOcustomer.Name, Phone = DTOcustomer.Phone, Zip = DTOcustomer.Zip };

    PapaBobsDBEntities db = new PapaBobsDBEntities();
    db.Customers.Add(customer);
    db.SaveChanges();
}

&

public static void InputOrders(List<DTO.Order> DTOorders)
{
    PapaBobsDBEntities db = new PapaBobsDBEntities();
    List<Order> orders = new List<Order>();

     foreach (var DTOorder in DTOorders)
    {
        orders.Add(new Order { Cost = DTOorder.Cost, Crust = (persistance.Crust)DTOorder.Crust, Id = DTOorder.Id, Size = (persistance.Size)DTOorder.Size, 最佳pings = DTOorder.Toppings });
    }

    foreach (var order in orders)
    {
        db.Orders.Add(order);
    }
    db.SaveChanges();
}

编辑:
我通过用户输入定义了Orders / Customer的所有值,并在代码中创建了ID(客户的ID是普通的Guid)
我如何创建订单ID:

C#:
private static string getId()
{
    HighestAmmount += 1;

    return domain.CustomerRepository.currentCustomer.Id + "." + HighestAmmount.ToString();
}

编辑2:
看来订单编号是 限制为5个字符 我忘了设置为50!
我将尝试解决此问题,看看它是否可以解决此异常,如果可以,请进行编辑。

编辑3:
我解决了!对于任何有同样问题的读者: 检查SQL数据库值的参数 在像我一样发帖之前
浪费人民的时间。感谢您创建此网站,我在键入时可以解决很多问题。

如果你需要 任何更多信息 (您可能会这样做),请告诉我提供它!

问题2 *已解决*:

当我创建一个新的Guid时,它的数量为0。 (当我在sql表默认部分中使用newID()时,以及在代码中创建新的Guid时。
编辑:我发现这篇文章: 引导全为0(零)吗? 并修复它!
使用静态方法 Guid.NewGuid() 而不是调用默认的构造函数。
var responseObject = proxy.CallService(新的RequestObject
{
数据="misc. data",
Guid = Guid.NewGuid()
});



感谢您的阅读 (尤其是如果您有所帮助)。
 
Last edited:
最佳 底部