Sql 使用OData和剑道网格插入数据库问题

Sql 使用OData和剑道网格插入数据库问题,sql,kendo-ui,kendo-grid,odata,kendo-datasource,Sql,Kendo Ui,Kendo Grid,Odata,Kendo Datasource,我正在使用剑道网格,数据源使用Odata类型。 从数据源在数据库中创建新行时遇到问题。 这是我的数据源代码: var ds = new kendo.data.DataSource({ type: "odata", transport: { read: { url: baseUrl, dataType: "json"

我正在使用剑道网格,数据源使用Odata类型。 从数据源在数据库中创建新行时遇到问题。 这是我的数据源代码:

var ds = new kendo.data.DataSource({
            type: "odata",
            transport: {
                read: {
                    url: baseUrl,
                    dataType: "json"
                },
                update: {
                    url: function (data) {
                        return baseUrl + "('" + data.ID_Agenzia + "')";
                    }
                },
                create: {
                    url: baseUrl
                },
                destroy: {
                    url: function (data) {
                        return baseUrl + "('" + data.ID_Agenzia + "')";
                    }
                }
            },
            schema: {
                model: {
                    id: "ID_Agenzia",
                    fields: {
                        ID_Agenzia: { type: "string" },
                       // etc... my other fields omitted for brevity.
                    }
                }
            },
            pageSize: 20,
            serverPaging: true,
            serverFiltering: true,
            serverSorting: true
        });
然后我试着用自动工具栏创建一个简单的网格,我想我可以省略代码,使用这个DS

据我所知,Kendo得到了一个新的方法来区分Create/Update,它检查ID是否为默认值。 我在谷歌上找到的所有例子都是使用ID作为数字增量值。。。但是在我的表中,ID是一个明显唯一的字符串,需要用户插入

希望我已经很好地解释了自己,问题应该很清楚:如果用户插入ID,数据源将无法识别这是一个创建操作。。。 否则,如果我放弃手动ID插入,创建将工作。。。但是该行将以默认值空字符串插入数据库,这是错误的

我怎样才能解决这个问题? 谢谢

[编辑]成瘾信息:
我正在使用最新版本的剑道ui和OData2.0

您可以添加一个与Id列具有相同值的新列。添加新记录时,在该新列中添加您的唯一Id,而忽略原始Id列,这将具有默认值。在服务器上使用新列。我知道这不是一个好的解决方案,而是一个解决办法。谢谢你的回答,我考虑过这样的事情。但您的意思是在数据库中添加一个可能有问题的新列,或者只在网格中添加?不,您不需要在db中添加列。在kendo数据源中添加一个字段,并在业务对象中添加相同的属性,您正在服务器端使用该属性