实体框架4 - 添加没有Identity列的对象会抛出OptimisticConcurrencyException

时间:2015-10-08 18:17:50

标签: entity-framework

我有一个数据库第一种方法,在Sybase上使用EF4。

SSDL

    <EntityType Name="tq_qmt_logger">
    <Key>
    <PropertyRef Name="qmt_id" />
    </Key>
    <Property Name="qmt_id" Type="bigint" Nullable="false" StoreGeneratedPattern="Identity"  />
    <Property Name="client_id" Type="varchar" Nullable="false" MaxLength="100" />
    <Property Name="logged_date" Type="datetime" Nullable="false" />

CSDL

我有相应的CSDL注释:StoreGeneratedPattern =“Identity”

现在我的源代码是,

            tq_qmt_logger qmtLogger = new tq_qmt_logger();
            qmtLogger.client_id = machineID;
            qmtLogger.logged_date = DateTime.Now;

            // qmtlogger.qmt id is omitted because it is
            // generated by a sequence in the DB.

            context.tq_qmt_logger.AddObject(qmtLogger);
            context.savechanges()

SaveChanges抛出OptimisticConcurrencyException并显示错误Store update,insert或delete语句影响了意外的行数(0)。我的猜测是,EF将0传递给我的qmt_id(标识)列,该列被拒绝。有人可以指导如何解决这个问题吗?

0 个答案:

没有答案