码迷,mamicode.com
首页 > 数据库 > 详细

linq连接sqlite数据库(linq to sqlite) .net3.5

时间:2017-08-12 00:31:11      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:查询   key   sqlite   arch   com   elf   any   value   ted   

http://www.cnblogs.com/xianyin05/archive/2012/12/23/2829905.html

using 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   

原文地址:http://www.cnblogs.com/genesis/p/7348479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!