c#unitOfWork异常

时间:2014-07-03 10:39:17

标签: c# nhibernate unit-of-work

首先让我先说我是工作单元设计模式的新手,请原谅我这是一个简单的问题。

底线是我有下面的代码。我知道列表有值,因为单元测试确认了它。但是,当我尝试使用SaveMethod()保存在我的数据库中时,我得到以下内容:

  

NHibernate.Exceptions.GenericADOException:无法插入:   [ProjectName.BO.Method] [SQL:INSERT INTO   [dbo]。[FinalTable]([ID],[FK],[SomeRandomField])VALUES(?,?,?);   选择SCOPE_IDENTITY()]

为什么SaveMethod接受“OfThisType”的对象,除非我错了,这就是我给它的。

  

public void SaveMethod(OfThisType x);

 public List<OfThisType> RandomMethod()
        {
            var x = _db.Table1.Join(_db.Table2, i => i.Table1_ID, x => x.Table2_ID, (i, x) => new { i, x });

            var listOfx = new List<OfThisType>();

            foreach (var item in x)
            {
               var varOfThisType = new OfThisType();

               varOfThisType.Table1_ID = item.i.Table1_ID;
               varOfThisType.Table2_ID = item.x.Table2_ID;
               varOfThisType.SomeRandomField = item.i.SomeRandomField;

               listOfx.Add(varOfThisType);
            }

            using (UnitOfWork.Start())
            {
                var repository = new Repository();

                foreach (var k in listOfx)
                {
                    repository.SaveMethod(k);
                }
            }
            return listOfx;
        }

0 个答案:

没有答案