- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的项目中使用sqlite-net
并且有一个名为SqLiteHelper的帮助器类。在这个类中,我有一个简单的方法,它将 TableQuery
结果作为列表返回。示例:
public static class SqLiteHelper
{
public static List<Contact> GetTableQueryResults()
{
List<Contact> contacts;
using (var connection = new SQLiteConnection(App.DatabasePath))
{
connection.CreateTable<Contact>();
contacts = connection.Table<Contact>().ToList();
}
return contacts;
}
}
我想让这个方法可重用,以便将来在其他上下文中使用它。例如,当我有另一个具有不同类别的项目时,然后是“联系”。我自己尝试了一下,将其重构为:
public static IList<T> GetTableQueryResults<T>()
{
List<T> contacts;
using (var connection = new SQLiteConnection(App.DatabasePath))
{
connection.CreateTable<T>();
contacts = connection.Table<T>().ToList();
}
return contacts;
}
但是 SQLiteConnection.Table<> 方法会抛出以下错误:
有什么想法可以让这个方法可重用吗?
我看了here但它与SQLite
无关。
最佳答案
在您的方法中提供 T
的泛型类型约束为 where T : new()
。 new()
约束让编译器知道提供的任何类型参数都必须具有可访问的无参数构造函数。
方法:
public static IList<T> GetTableQueryResults<T>() where T : new()
{
List<T> contacts;
using (var connection = new SQLiteConnection(App.DatabasePath))
{
connection.CreateTable<T>();
contacts = connection.Table<T>().ToList();
}
return contacts;
}
阅读 here 了解新
约束.
关于c# - 使使用 SQLiteConnection 的方法更加可重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65688417/
这有效,但 Resharper 在注释行上说“访问已处理的闭包” using (var db = new SQLiteConnection(SQLitePath)) {
class SQLiteDatabase { String dbConnection; static SQLiteConnection cnn;
是否可以在不先将二进制流保存到磁盘的情况下在二进制流上打开 SQLiteConnection?当然有一种方法可以“欺骗”连接,使其认为流是一个文件。我的意思是,它在内部就是这么做的,对吧? 最佳答案
我正在使用来自 system.data.sqlite.org 的 SQLite 我们需要从多个线程访问数据库(出于各种原因)。我已经阅读了很多关于 sqlite 线程安全功能的文章(默认的同步访问模式
我在我的项目中使用sqlite-net并且有一个名为SqLiteHelper的帮助器类。在这个类中,我有一个简单的方法,它将 TableQuery 结果作为列表返回。示例: public static
我正在尝试实现 SQLite 的令人难以置信的基本用法。我有一个 Button 和一个 EditText。我想存储 EditText OnClick 的内容。 我正在关注这个:https://deve
我在我的项目中使用sqlite-net并且有一个名为SqLiteHelper的帮助器类。在这个类中,我有一个简单的方法,它将 TableQuery 结果作为列表返回。示例: public static
当使用最新版本的 System.Data.SQLite nuget 包创建一个简单的 SQLite 事务时,我注意到 SQLiteConnection.BeginTransaction() 方法的智能
我正在使用 SQLite.NET PCL library在我的申请中。 使用库管理连接生命周期的最佳实践是什么? 我找不到任何使用 SQLiteConnection.Close() 方法的例子。但常见
我在多线程 Windows 桌面程序中使用 SQLite (System.Data.SQLite.dll)。我使用这段代码: using (var cn = new SQLiteConnection(
我正在尝试让多对多数据库关系在我的数据库中(当前)在 Android Samsung S6 移动设备上工作。为此,我使用 SQLite.Net-PCL 3.0.5 和 SQLiteNetExtensi
我是 Android 程序的初学者,遇到以下错误,尝试过提供的解决方案,例如在模拟器上清除 Google Play 商店数据仍然遇到相同的错误,没有使用任何数据库连接代码,但获取的数据库已泄漏,任何帮
我正在运行模拟器并收到以下有关内存泄漏的错误。有趣的是,泄漏的数据库似乎是 Google gms 而不是用户数据库。有谁知道如何修理它?谢谢! 09-27 15:55:07.252 2058-2068
我已经使用 NUGET 将 Sqlite Core 包安装到我的 c# 项目中: >Install-Package System.Data.SQLite.Core 我创建一个数据库连接如下: var
我正在尝试开始使用 sqlite + C#。我发现 SQLite-lib 不是标准库,因此我在每个引用中添加了它。 由于我更频繁地使用这个类,所以我考虑创建一个自己的类来处理所有事情。 现在,这是我的
我的应用程序使用 Google Play 服务,在 logcat 中收到以下警告 12-06 12:53:58.240 2748-2757/com.google.android.gms W/SQLi
我的应用程序给了我这个警告 A SQLiteConnection object for database '+data+data+com_example_test+database' was leak
我正在使用 SQLiteConnection 访问 Firefox 生成的 sqlite 文件。我的目标是使用此 C# 控制台应用程序查找所有已安装的扩展。 这就是问题所在,Firefox 会在第一次
我想知道 SQLiteConnectionContext 类的 MySQL 等价物是什么。我需要它能够为我的程序提供一个通用的连接上下文。我正在创建一个基于实体的解决方案,它将从 MySQL 数据库推
使用 .net 中的 SQLite,有没有办法访问 .dump 命令或 SQLiteConnection 类中的等效命令? 最佳答案 .dump命令是 sqlite 命令行程序 ( shell.c )
我是一名优秀的程序员,十分优秀!