繁体   English   中英

如何将对象添加到数据库(EntityFramework)C#

[英]How to add object to database (EntityFramework) C#

我是 .net 的初学者,上次我尝试学习EntityFranework 我做了一个简单的项目,但遇到了一个问题:

错误 CS1503 参数 1:无法从“ABC.Customer”转换为“ABC.Order”

我试图自己解决它,但没有成功,我会寻求所有帮助。

代码:

EntityData db = new EntityData();
var _Order = new Customer();

var newOrder = db.Orders.ToList();

_Order.number = int.Parse(TextBox1.Text);

newOrder.Add(_Order); // _Order is wrong
db.SaveChanges();

我的客户类只有一个属性:

public int number { get; set; }

我的数据库只有一张表: Order with a property: number

如果 EntityData 有“订单”的定义,并且您尝试将其保存到该表中,则可以尝试以下操作:

EntityData db = new EntityData();
var _Order = new Order();

_Order.number = int.Parse(TextBox1.Text);

db.Order.Add(_Order); // _Order is wrong
db.SaveChanges();

当您运行此代码时,它会将 _Order 视为 Customer 的一个实例。 当您尝试保存它时,实体框架会看到并拒绝它,即使 Customer 可能具有与 Order 相同的属性。

您需要执行类似的操作才能让实体框架不拒绝您的操作。

db.Orders.Add(new Order{Number = _Order.number});

非常感谢所有提示。 我关注了最受欢迎的一个 - 更改如下:

var _Order = new Customer();

var _Order = new Order();

回到 Customer 类——它只包含一个属性:

public int number { get; set; }

我准备单独的名为Customer类的原因实际上是在一个教程中我看到了这种解决方案。 老实说,我不得不在我的过程中犯了一个错误,现在几乎一切都在工作(数据没有保存)。

我制作的整个应用程序只是为了我的学习,我使用了不正确的命名条件,例如Customer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM