2016-02-25 23 views
0

我已閱讀所有可找到與此主題相關的帖子並應用了他們的解決方案,但DeleteOnSubmit()方法仍未顯示爲選項。 DeleteObject()不是。 使用EF 6.1.3,NET 4.5和VS 2013.我還添加了對System.Data.Link的引用。這裏是代碼的一部分,爲了清晰起見簡化:DeleteOnSubmit沒有顯示在LinqToSql上

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data.Entity; 
using System.Data.Entity.Infrastructure; 
using System.Data.Linq; 

    public void DeleteRow(int rowId) 
    { 
       using (AppDataDbContext db = new AppDataDbContext()) 
       { 

        db.Reservations.????? 



using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data.Entity; 

    public class AppDataDbContext: DbContext 
    { 
       public AppDataDbContext() 
      : base("name=DefaultConnection") 
     { 
     } 

     public DbSet<Reservation> Reservations { get; set; } 
    } 
enter code here 


public class Reservation 
{ 
    [Key()] 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int IdNo { get; set; } 
    public int ClientAcctNo { get; set; } 
    public string Description { get; set; } 
    public DateTime DueDate { get; set; } 
    public string Status { get; set; } 
} 

回答

1

你確定LogEvents是'表'嗎? DeleteOnSubmit只能從'表'中調用。

+0

是的。真的是。但我看到你的觀點,我改變了表名,更新了問題,並提出了問題。你的答案 –

+0

這對我有用。重新啓動visual studio /您的電腦。我猜你在.NET 3.5框架? –

+0

淨4.5。我已經放棄了,但仍然是一樣的。 –

1

您正在使用Linq to Entity Framework而不是Linq to SQL,因此您可以改爲使用實現相同目標的Remove()方法。

db.Reservations.Remove(your entity) 
db.SaveChanges(); 

的實體將不會被刪除,直到調用SaveChanges,所以你可以調用一個循環或RemoveRange刪除。