2014-01-26 47 views
0

我有更新和插入数据到本地sqlite数据库的问题。这里是代码:SQLite没有看到主键属性

public class Klient : INotifyPropertyChanged, IEquatable<Klient> 
{ 
    [SQLite.PrimaryKey, SQLite.AutoIncrement] 
    public int id { get; set; } 

基于这个类的数据库已经通过sqlite-net创建。这里有一个从SQLite数据库浏览器截图 ss

错误说我不能更新或插入,因为没有PK。正如我在当地人抬头: IsPK为假 属性为空, 但自定义属性应该是:PrimaryKey,Autoincrement。 从来没有这样的问题,我一直在使用sqlite六个月了。有什么建议吗? 我正在使用WIN RT,.NET 4.5.1,VS 2013 Ultimate开发Windows 8.1应用程序。

该类在第二个项目类库中。处理引用类库的项目时调用错误。

'(map.Columns[0].ColumnType).GenericParameterAttributes' threw an exception of type 'System.InvalidOperationException' 
+ {"Method may only be called on a Type for which Type.IsGenericParameter is true."} 
+0

这个外部参考文件是否总是应用复制?你有没有尝试清理,然后重建解决方案? – harry180

+0

“copy local”为true。尝试重建 - 没有结果。我发现一些例外,请看问题。 – ignacy130

+0

你是否使用了一些反射?如果没有,它似乎是SQLite库中的错误。你准确使用哪个版本? – harry180

回答

1

我不小心添加sqlite.cs文件到主项目(非库),这也是的.dll文件从另一个项目进口的一部分 - 类库。所以不要忽略IDE为您提供的绿色下划线,尤其是在类冲突的情况下;) 谢谢@ harry180!