Array
(
    [query] => Array
        (
            [match] => Array
                (
                    [text] => Array
                        (
                            [query] => EF部分字段修改
                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [text] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [size] => 8
    [from] => 0
)
Array
(
)
Array
(
    [query] => Array
        (
            [match] => Array
                (
                    [text] => Array
                        (
                            [query] => EF部分字段修改
                            [operator] => or
                            [minimum_should_match] => 2<55%
                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [text] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [size] => 8
    [from] => 0
)
Array
(
)
Array
(
    [query] => Array
        (
            [match] => Array
                (
                    [text] => Array
                        (
                            [query] => EF部分字段修改
                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [text] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [size] => 8
    [from] => 8
)
Array
(
)
Array
(
    [query] => Array
        (
            [match] => Array
                (
                    [text] => Array
                        (
                            [query] => EF部分字段修改
                            [operator] => or
                            [minimum_should_match] => 2<45%
                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [text] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [size] => 8
    [from] => 8
)
Array
(
)
Array
(
    [query] => Array
        (
            [match] => Array
                (
                    [title] => Array
                        (
                            [query] => EF部分字段修改
                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [title] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [from] => 0
)
Array
(
)
Array
(
    [query] => Array
        (
            [bool] => Array
                (
                    [must] => Array
                        (
                            [0] => Array
                                (
                                    [match] => Array
                                        (
                                            [title] => Array
                                                (
                                                    [query] => EF部分字段修改
                                                )

                                        )

                                )

                        )

                    [must_not] => Array
                        (
                            [0] => Array
                                (
                                    [term] => Array
                                        (
                                            [cate1] => 电子书籍
                                        )

                                )

                        )

                )

        )

    [highlight] => Array
        (
            [fields] => Array
                (
                    [title] => stdClass Object
                        (
                        )

                )

            [pre_tags] => #em#
            [post_tags] => #/em#
        )

    [size] => 5
    [from] => 0
)
Array
(
)
EF部分字段修改 - 爱码网
-jth
传入实体修改   

public async Task EditAsync(T model, bool IsSava = true)
        {
            _Db.Configuration.ValidateOnSaveEnabled = false;    //关闭验证
            _Db.Entry(model).State = EntityState.Modified;
            
            if (IsSava)
            {
                await _Db.SaveChangesAsync();
                _Db.Configuration.ValidateOnSaveEnabled = true;
            }
        }

如果有不能为空的字段直接报错

 

搞了老半天   当时心情 一万个CNM   


然后 我们 来 这样解决   

使用反射 获取属性是否 为空的设置 IsModeifde = fase   不为空的设置   IsModefide = true;   

看代码吧

public async Task EditAsync(T model, bool IsSava = true)
        {
            _Db.Configuration.ValidateOnSaveEnabled = false;
            _Db.Entry(model).State = EntityState.Modified;
            foreach (var item in model.GetType().GetProperties())
            {
                if (item.GetValue(model) != null)
                {
                    _Db.Entry(model).Property(item.Name).IsModified = true;
                }
                else
                {
                    _Db.Entry(model).Property(item.Name).IsModified = false;
                }
            }
            if (IsSava)
            {
                await _Db.SaveChangesAsync();
                _Db.Configuration.ValidateOnSaveEnabled = true;
            }
        }

 


  

                      解决完瞬间 晴天了                         

 

分享给大家                                                                                                                                                                                                                                                                                                                                ...............................................................................................................................................................................................................

分类:

技术点:

相关文章: