我是.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
。
答案 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
等错误的命名条件。