当前位置: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   

人气教程排行