获取DNN模块中新记录的ID

时间:2013-03-18 09:16:13

标签: asp.net asp.net-mvc linq dotnetnuke dotnetnuke-module

是DNN模块开发和使用MVC和Linq的新手。已经构建了一个类和控制器,允许我在数据库的表中创建记录。谁能告诉我检索新创建记录的id的最佳方法?用于创建记录的控制器部分如下所示。

class BlockController
{
    public void CreateBlock(Block b)
    {
        using (IDataContext ctx = DataContext.Instance())
        {
            var rep = ctx.GetRepository<Block>();
            rep.Insert(b);
        }
    }
}

从代码

调用控制器
            var bC = new BlockController();
            var b = new Block()
            {
                SectionId = int.Parse(ddlPickSection.SelectedValue),
                PlanId = int.Parse(ddlPickPlan.SelectedValue),
                BlockName = bId,
                BlockDesc = "",
                xPos = bX,
                yPos = bY,
                width = arrBWidths[i],
                ModuleId = ModuleId,
                CreatedOnDate = DateTime.Now,
                CreatedByUserId = UserId,
                LastModifiedOnDate = DateTime.Now,
                LastModifiedByUserId = UserId,
            };

            bC.CreateBlock(b);

由于

1 个答案:

答案 0 :(得分:1)

当您提交更改(在DB中插入记录)时,ID将在b对象中可用:

...
rep.InsertOnSubmit(b);
ctx.SubmitChanges();

int desireID = b.id;