避免使用实体框架在数据库中保存null或空值



我有一个应用程序,我们使用实体框架,点击按钮会调用ajax来保存值
一切都很好,但即使我们尝试在没有值的情况下单击保存按钮,它也会被保存在数据库中为null或空(占用空间)
我忽略了一些小错误,请帮帮我
我尝试过的:

$.ajax({
            type: "POST",
            url: '~/SaveGroups',
            data: {
            GroupId: (GroupId == null ? -1 : GroupId),
            counterId: (counterId == null ? -1 : counterId),
            GroupCode: GroupCode,
            GroupDesc: GroupDescription
        },
            success: function (result) {
                if (result != null) {
                    $("#PartialGroupsTable").html(result.GroupsPageString);
                    $("#GCode").val('')             //GCode is the name of the textbox
                    $("#GDescription").val('');     //GDescription is the other textbox
                    GroupId = -1;
        }
        },
            complete: function () {
                $("#GCode").empty();
                $("#GDescription").empty();
        },
            error: function () {
                alert("Details Not Saved. Please try again later");
        }
        });

提前Thanx。

您有几个选项来满足您的需求,其中两个是Client Side validation and server side validations,这意味着您需要在将数据发送到数据库进行保存之前验证数据。。像

你有模型类。。代表您的表

public class User
{
[Required]
public string UserName{get; set;}
...
...
} 

假设您试图将null值发送到控制器或dbcontext,它不允许您在其中插入null值,因为它只允许非null值。

您也可以使用jquery 来完成此操作

function buttonClick()
{
if($('#txtName').val()=='')
{
alert('Please enter name');
return false;
}
else
{
//make ajax call here
}
}

像这样,您可以通过多种方式来实现,也可以使用不引人注目的javascript。希望这能帮助

如果您希望为GroupId或counterId获取-1,而不是获取其他值,原因可能是现有值不是null,而是一个空字符串。检查这一点以及检查null/undefined。如果这不是问题所在,那么可能需要更多的信息。

例如:

GroupId: ((GroupId == null || GroupId == '') ? -1 : GroupId),

最新更新