c# - Debian 7 Linq To SQL 上的 Mono 字符串对象引用未设置为对象的实例

标签 c# sql linux linq mono

嗨,我是 Linux 和 mono 的新手。我使用的是 Mono 3.6 和 Debian 7.6

我不断收到未设置为对象实例的对象引用。我使用与 VS 2013 在 Windows 上编译的代码相同的代码,并且运行良好。

  string connstring = string.Format
("Data Source={0},{1};Initial Catalog={2};User ID={3};Password={4};Application Name={5};Connect Timeout=120",
   IP, Port, database, Username, Password, InstanceID);

 settings = new ConnectionStringSettings("sqlServer", 
                                       connstring, "System.Data.SqlClient");


 using (data = new SwitchDataDataContext(settings.ConnectionString)){
                   BlockList.Clear();
                    foreach (var item in data.BlockLists)
                    {// so this works
                        if (BlockList.ContainsKey(item.TN) == false)
                            BlockList.TryAdd(item.TN, item.TN);
                        }
// this is where it crashes
  var custs = data.CustomerGateways.Where(p => p.isEnabled == true);

}

当我调用代码时,它会抛出异常。

知道可能出了什么问题吗?

在 Windows 上运行良好。

我把异常写到了屏幕上。 DbLinq.Data.Linq.Mapping.AttributedMetaType+c__Iterator0.MoveNext() [0x00000] in :0 at System.Collections.Generic.List System.Data.Linq.Mapping.MetaAssociation .AddEnumerable

最佳答案

好吧,我明白了。在 Linq 的映射中,您拥有连接的所有表。这些连接必须是内部的而不是公共(public)的。过去当我必须序列化数据时我就这样做过。由于某种原因公开会导致 PK 循环。

无论哪种方式,在 Linq Map 中将其更改为内部即可。

关于c# - Debian 7 Linq To SQL 上的 Mono 字符串对象引用未设置为对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25630540/

相关文章:

sql - 设计——第六范式

mysql - 通过 jenkins 将 mysql 文件夹复制到其他文件夹

c# - XPathNodeIterator 从迭代数据访问子节点

c# - 使用 Azure Function V3,如何将现有的 Ilogger 注入(inject)到新的类文件中?

mysql - SQL - 加入 3 个表有点困惑

c++ - 使用管道从 STDIN 读取 fork 进程时出现问题

linux - 使用 shell 脚本从 pstree 获取指定进程名称的 pid

c# - mysql数据库关系问题

c# - Microsoft Practice 使用 Unity 寄存器类型

Mysql根据相同的值对多个列进行计数