У меня есть следующий объект:
namespace LearnLINQ1
{
[Table(Name="testMe")]
public class SubmitTest
{
[Column(Name="FirstName")]
public string FirstName { get; set; }
[Column(Name = "LastName")]
public string LastName { get; set; }
[Column(Name = "PhoneNumber")]
public int PhoneNumber { get; set; }
linqLayerDataContext db;
}
}
И я использовал то же самое с конструктором:
namespace LearnLINQ1
{
[Table(Name="testMe")]
public class SubmitTest
{
[Column(Name="FirstName")]
public string FirstName { get; set; }
[Column(Name = "LastName")]
public string LastName { get; set; }
[Column(Name = "PhoneNumber")]
public int PhoneNumber { get; set; }
linqLayerDataContext db;
//constructor
public SubmitTest(string first, string last, int phone, linqLayerDataContext db)
{
this.FirstName = first;
this.LastName = last;
this.PhoneNumber = phone;
this.db = db;
}
}
}
Я использую следующий код для создания объектаи попытайтесь добавить его в базу данных в качестве новой записи:
SubmitTest test = new SubmitTest { FirstName = "Jeremy", LastName = "Stafford", PhoneNumber = 23 };
db.testMes.InsertOnSubmit(test);
Но я получаю ошибку:
Ошибка 1 Лучший перегруженный метод соответствует System.Data.Linq.Table.InsertOnSubmit (LearnLINQ1.testMe) 'содержит недопустимые аргументы C: \ Users \ Джереми \ Documents \ Visual Studio 2010 \ Projects \ LearnLINQ1 \ LearnLINQ1 \ Form1.cs 42 13 LearnLINQ1
Ошибка 2, аргумент 1: невозможно преобразовать из «LearnLINQ1.SubmitTest» в «LearnLINQ1.testMe» C: \ Users \ Джереми \ Documents \ Visual Studio 2010 \ Projects \ LearnLINQ1 \ LearnLINQ1 \ Form1.cs 42 39 LearnLINQ1
IЯ не уверен, было ли что-то, чего я пропускал в определении класса ... немного нового для концепции.Может кто-нибудь направить меня в правильном направлении?
================================ ОБНОВЛЕНИЕ: Хорошопоэтому я сделал некоторые изменения
класс клиента:
namespace LearnLINQ1
{
public class Customer
{
[Table(Name = "testMe")]
public class SubmitTest
{
[Column(Name = "FirstName")]
public string FirstName { get; set; }
[Column(Name = "LastName")]
public string LastName { get; set; }
[Column(Name = "PhoneNumber")]
public int PhoneNumber { get; set; }
}
}
}
И тестовый код:
namespace LearnLINQ1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
linqTestDataContext db = new linqTestDataContext();
Table<Customer> Customers = db.GetTable<Customer>();
var cus = new Customer { FirstName = "Jeremy", Lastname = "Stafford", Age = 31 };
db.Customers.InsertOnSubmit(cus);
db.SubmitChanges();
}
}
}
Теперь проблема в классе клиента.выдает следующую ошибку:
Ошибка 1 Отсутствует частичный модификатор при объявлении типа «LearnLINQ1.Customer»;существует другое частичное объявление этого типа C: \ Users \ Jeremy \ Documents \ Visual Studio 2010 \ Projects \ LearnLINQ1 \ LearnLINQ1 \ Customer.cs 11 18 LearnLINQ1