找不到“SubmitChanges”的参考

时间:2011-08-20 18:15:20

标签: c# .net linq exception-handling

我正在使用C#和Linq编写Web服务。我对此很新,并且使用在线教程我已经能够完成我需要的大部分工作。我在我的数据库上有各种复杂操作的Web服务。

遇到遇到问题的地方是向我的表添加记录。我已经遵循了一些教程,这些教程看起来都非常简单,但是我有一个参考资料,我很明显缺少并找不到。我正在使用SQL Server(2008),并构建了一个WCF服务库。代码的开头是:

public const int RET_OK = 0;
public const int RET_NOT_OK = -1;

public const int RET_TICKET_NO_SERVER = -1;

int retInt;
xxxxEntities3 xxxxDB = new xxxxEntities3();

public int CreateTicket(ref string strServer)
{           
    if ((strServer == null) || (strServer.Length == 0))
    {
        return(RET_TICKET_NO_SERVER);
    }

    ticket tick = new ticket();
    tick.serveTime = DateTime.Now;
    tick.server = strServer;

    xxxxDB.tickets.AddObject(tick); 

    return (0);
}

我确保添加对System.Data.Linq程序集的引用,并且我已经验证.edmx文件是正确的(我的所有“阅读”Web服务都运行良好)。

问题在于,当我尝试插入更改时(使用类似的内容):

xxxxDB.tickets.SubmitChanges(tick);

我知道找不到SubmitChanges(它询问我是否缺少引用)。我呢?我确信这很简单,但我一定太累了 - 我只是看不到它。

提前致谢!

1 个答案:

答案 0 :(得分:3)

数据库层的根目录中是否未定义SubmitChanged?这是我对LinqToSql的体验。例如,您可以逐个表地操作表格,但一次推送更改:

database.table.InsertOnSubmit(entity);

database.SubmitChanges();

现在,看起来你正在使用一种我并不完全熟悉的略有不同的LinqToSomething机制 - 但许多原则并不是毫无疑问的共享。

@Henk和@Kirk引起了注意,这里有几点需要考虑:

  • 使用EF,呼叫显然应该在上下文本身,如建议
  • 使用EF时,调用make为SaveChanges而不是SubmitChanges