0

我想dataSet1.EnforceConstraints = false;使用 Dapper.Net ORM 和实体框架来做这样的事情。

我在 VS2010 中创建了模型,其中有一个属性:

    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
    [DataMemberAttribute()]
    public global::System.String ethnicname
    {
        get
        {
            return _ethnicname;
        }
        set
        {
            OnethnicnameChanging(value);
            ReportPropertyChanging("ethnicname");
            _ethnicname = StructuralObject.SetValidValue(value, false);
            ReportPropertyChanged("ethnicname");
            OnethnicnameChanged();
        }
    }

... 什么时候valuenull我在StructuralObject.SetValidValue.... 如何以及在哪里关闭它?

我的数据调用如下所示:

    public DAL.Models.PROFILE GetProfile(int profileID)
    {
        using (IDbConnection connection = OpenConnection("MyDBConnectionString"))
        {
            try
            {

                var profiles = connection.Query<DAL.Models.PROFILE>("SELECT * FROM PROFILES WHERE ID=@ID", new { ID = profileID }); // IEnumerable
                var profile = profiles.First<DAL.Models.PROFILE>();

                return profile;
            }
            catch (Exception ex)
            {
                ErrorLogging.Instance.Fatal(ex);
                return null;
            }
        }
    }
4

1 回答 1

1

如果您使用基于自动生成EntityObject的实体并将字段标记为不可为空(您的数据库使其不可为空),则无法关闭此验证。的第二个参数SetValidValue决定是否允许 null。

于 2012-05-25T10:02:15.610 回答