I am learing Linq-to-SQL. I want to add a record, but get an exception on InsertOnSubmit():
Can’t perform Create, Update, or Delete operations on
‘Table(GuestbookEntry)’ because it has no primary key.
But my database does have a primary key.
Here is my code:
[Table(Name = "GuestbookEntry")]
public class GuestbookEntry
{
[Column(DbType = "int not null, IsPrimaryKey=true, IsDBGenerated=true")]
public int Id { get; set; }
[Column]
public string Name { get; set; }
[Column]
public string Message { get; set; }
[Column]
public DateTime DateAdded { get; set; }
}
public class GuestbookContext : DataContext
{
public Table<GuestbookEntry> GuestBookEntries;
//public Table<Order> Orders;
public GuestbookContext(string connection) : base(connection) { }
}
...
private GuestbookContext dbGuestbook = new GuestbookContext("GuestBookConnection");
...
dbGuestbook.GuestBookEntries.InsertOnSubmit(entry);
dbGuestbook.SubmitChanges();
Could you please tell what is wrong?
Thanks.
It looks like you need to define a primary key for your table