c# - Linq to SQL 不保存名为 'Value' 的属性

标签 c# linq-to-sql insert

我正在插入一个 UserStat记录——据我所知没有异常。基本思想是迭代一组值,Stats , 并创建 UserStat记录复制一些 Stat数据。

但是,当我调试时,立即在任何 userStat.Value = <some number>; 之后语句,.Value 的值仍然是 0.0。如果重要的话,它是 SQL Server 数据库中的一个 float 。 但是.AnotherProperty.SomeOtherProp数据库中的字段也是 float ——它们完美地保存。

我一致且可重现的问题是 .Value修改时永远不会持续存在(即使在本地实例中)。也许这需要一双新的眼睛——我是否漏掉了一些显而易见的东西?

        using (MyDataContext db = new MyDataContext())
        {
            List<UserStat> stats = new List<UserStat>();

            // create stats
            foreach (var stat in db.Stats)
            {
                UserStat userStat = new UserStat()
                {
                    // set some common properties
                };

                switch (stat.ID)
                {
                    case (int)Enums.Stats.Stat1:
                        userStat.Value = 1;
                        // right here, userStat.Value == 0 is true...HUH?
                        userStat.AnotherProperty = 2;
                        userStat.SomeOtherProp = 5;
                        break;
                    case (int)Enums.Stats.Stat2:
                        userStat.Value = 5;
                        // right here, userStat.Value == 0 is true...HUH?
                        break;

                    default:
                        break;
                }

                stats.Add(userStat);
            }

            db.UserStats.InsertAllOnSubmit(stats);

            db.SubmitChanges();
        }

更新

是的,这是我的错。我在 UserStat 上有一个部分类定义对于 OnValueChanged()那是我很久以前实现的业务修改,我记不清了,因为这是该类上唯一的业务修改,而其他人有很多我一直在调试。

最佳答案

Value 可能是关键字并导致您出现一些意外行为。将该列名称更改为其他名称。

关于c# - Linq to SQL 不保存名为 'Value' 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5546224/

相关文章:

C# Reflection- 查找一个类是否定义了析构函数

c# - 将网站图标检索为图标而不是图像

sql - Linq To Sql - SQL 默认约束问题

php - Mysql INSERT IGNORE INTO 仅忽略一列

c# - 加载/卸载 C dll 时出现 C# 问题

c# - 在 Metro 应用程序中打开媒体文件

linq-to-sql - 使用Linq-to-SQL插入通过反射确定的对象

c# - 为 SQL Server 数据库列手动实现类似 IDENTITY 的增量时避免竞争条件

iphone - iPhone 上的 SQLite3 - 插入返回错误代码 8 尝试写入只读数据库

mysql - 如何从 select 语句执行 MySQL 多重插入