当前位置:Gxlcms >
数据库问题 >
linq连接sqlite数据库(linq to sqlite) .net3.5
linq连接sqlite数据库(linq to sqlite) .net3.5
时间:2021-07-01 10:21:17
帮助过:28人阅读
Models;
using System;
using System.Collections.Generic;
using System.Data.SQLite;
using System.Diagnostics;
using System.Linq;
using System.Text;
namespace Demo2
{
class Program
{
static void Main(
string[] args)
{
//Program p = new Program();
SqliteDataContext db =
new SqliteDataContext(
@"Data Source=MyDatabase.sqlite;Version=3;");
//创建连接
//var str = db.highscores.Where(u=>u.score>3000).ToList();
db.Log =
Console.Out;
var temp1 = db.GetTable<highscores>
().ToList();
var temp = db.GetTable<highscores>
();
var result =
from n
in temp
select n;
foreach (
var item
in result)
{
Console.WriteLine(item.name);
}
Console.ReadKey();
}
//数据库连接
SQLiteConnection m_dbConnection;
public Program()
{
createNewDatabase();
connectToDatabase();
createTable();
fillTable();
printHighscores();
}
//创建一个空的数据库
void createNewDatabase()
{
SQLiteConnection.CreateFile("MyDatabase.sqlite");
}
//创建一个连接到指定数据库
void connectToDatabase()
{
m_dbConnection =
new SQLiteConnection(
"Data Source=MyDatabase.sqlite;Version=3;");
m_dbConnection.Open();
}
//在指定数据库中创建一个table
void createTable()
{
string sql =
"create table highscores (name varchar(20), score int)";
SQLiteCommand command =
new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
}
//插入一些数据
void fillTable()
{
string sql =
"insert into highscores (name, score) values (‘Me‘, 3000)";
SQLiteCommand command =
new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
sql =
"insert into highscores (name, score) values (‘Myself‘, 6000)";
command =
new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
sql =
"insert into highscores (name, score) values (‘And I‘, 9001)";
command =
new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
}
//使用sql查询语句,并显示结果
void printHighscores()
{
string sql =
"select * from highscores order by score desc";
SQLiteCommand command =
new SQLiteCommand(sql, m_dbConnection);
SQLiteDataReader reader =
command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("Name: " + reader[
"name"] +
"\tScore: " + reader[
"score"]);
}
Console.ReadLine();
}
}
}
using Models;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Data.SQLite;
using System.Linq;
using System.Text;
namespace Demo2
{
public class SqliteDataContext : DataContext
{
public SqliteDataContext(string connection, MappingSource mappingSource) :
base(connection, mappingSource)
{
}
public SqliteDataContext(IDbConnection connection, MappingSource mappingSource) :
base(connection, mappingSource)
{
}
public SqliteDataContext(string connectionString) :
base(new SQLiteConnection(connectionString))
{
}
public SqliteDataContext(IDbConnection connection) :
base(connection)
{
}
//public virtual DbSet<highscores> highscores { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Data.Linq.Mapping;
using System.Linq;
using System.Text;
namespace Models
{
[Table(Name = "highscores")] //特性表示将highscores类与数据库中名称为highscores的表
public class highscores
{
//[Column(IsPrimaryKey =true)]
[Column] //特性则对应数据库中的列
public string name { get; set; }
[Column]
public int score { get; set; }
}
}
linq连接sqlite数据库(linq to sqlite) .net3.5
标签:查询 key sqlite arch com elf any value ted