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

时间:2017-11-01 15:58:50

标签: c# entity-framework-6

我是.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,其中包含一个属性:number

3 个答案:

答案 0 :(得分:0)

如果EntityData有' Order'的定义并且您正试图将其保存到该表中,您可以尝试这样做:

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

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

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

答案 1 :(得分:0)

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

您需要执行类似的操作才能让Entity Framework不拒绝您的操作。

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

答案 2 :(得分:0)

非常感谢所有提示。我跟随了一个最受欢迎的 - 改变如下:

var _Order = new Customer();

var _Order = new Order();

返回Customer类 - 它只包含一个属性:

public int number { get; set; }

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

我只为学习而制作的整个应用程序,并使用了Customer等错误的命名条件。