zoukankan      html  css  js  c++  java
  • EntityFramework初入

    //NuGet包管理,搜索引入 EntityFramework6 、Newtonsoft
    //使用:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Data;
    using System.Data.Entity;
    using System.Data.SqlClient;
    using System.Configuration;
    using Newtonsoft.Json;
    namespace EF_Test
    {
    class Program
    {
    static void Main(string[] args)
    {
    try
    {
    TestContext testContext = new TestContext();
    var personList = testContext.TestTables.AsNoTracking().ToList();
    Console.WriteLine(JsonConvert.SerializeObject( personList));
    
    //通过DBContext.Database,不需要创建对应Entity,可创建sqlconnection,sql语句返回DataTable
    //DataTable dddd = SqlQueryForDataTatable(testContext.Database, "select * from TestTable");
    //if (dddd.Rows.Count > 0)
    //{
    // Console.WriteLine(dddd.Rows[0]["AAAA"].ToString());
    //}
    //Console.WriteLine("END");
    }
    catch (Exception exc)
    {
    Console.WriteLine(exc.Message);
    }
    Console.Read();
    }
    
    public static DataTable SqlQueryForDataTatable(Database db,string sql)
    {
    SqlConnection conn = (SqlConnection)db.Connection;
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    cmd.CommandText = sql;
    
    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
    DataTable table = new DataTable();
    adapter.Fill(table);
    
    conn.Close();//连接需要关闭
    conn.Dispose();
    return table;
    }
    }
    
    //直接借鉴网上代码
    public class TestContext : DbContext
    {
    private static TestContext _instance;
    
    public static TestContext Instance
    {
    get
    {
    if (_instance == null)
    {
    _instance = new TestContext();
    }
    return _instance;
    }
    }
    
    private string _connectionString;
    
    public string ConnectionString
    {
    get
    {
    if (string.IsNullOrWhiteSpace(_connectionString))
    {
    _connectionString = ConfigurationManager.ConnectionStrings["MyDbContext"].ConnectionString;
    }
    return _connectionString;
    }
    set
    {
    _connectionString = value;
    }
    }
    
    public TestContext()
    : base("MyDbContext")
    {
    //DBContext直接根据MyDbContext键值去config中读取对应的value并创建链接
    }
    
    public TestContext(string connectionString)
    : base(connectionString)
    {
    
    }
    
    /// <summary>
    /// 定义的实体
    /// </summary>
    public DbSet<TestTable> TestTables { get; set; }
    
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
    //表名映射
    base.OnModelCreating(modelBuilder);
    modelBuilder.Types().Configure(t =>
    {
    //获取类名
    var tableName = t.ClrType.Name;
    //将类名处理为指定规范表名
    tableName = tableName.Replace("Entity", "");
    t.ToTable(tableName);
    });
    }
    }
    //对应表已在数据库中创建
    public class TestTable
    {
    public int id { get; set; }
    public string AAAA { get; set; }
    public string BBBB { get; set; }
    }
    }
  • 相关阅读:
    LeetCode15 3Sum
    LeetCode10 Regular Expression Matching
    LeetCode20 Valid Parentheses
    LeetCode21 Merge Two Sorted Lists
    LeetCode13 Roman to Integer
    LeetCode12 Integer to Roman
    LeetCode11 Container With Most Water
    LeetCode19 Remove Nth Node From End of List
    LeetCode14 Longest Common Prefix
    LeetCode9 Palindrome Number
  • 原文地址:https://www.cnblogs.com/IsSshuai/p/13915024.html
Copyright © 2011-2022 走看看