zoukankan      html  css  js  c++  java
  • 解决 Linq To SQL 中 DataContext 没有 CreateTable 方法的郁闷

    用过Linq To SQL的朋友都清楚,DataContext 有 CreateDatabase() 这个方法,但是却没有CreateTable(),有些情况下,还是需要CreateTable()的,比如说在虚拟主机上,一般都是没有建立数据库的权限。代码比较简单,看一下就明白了。

    Code
    namespace ALinq.Mapping
    {
        
    class CreateTableDemo
        {
            [Table(Name 
    = "User")]
            
    class User
            {
                [Column]
                
    public int ID;

                [Column]
                
    public string Name;

            }

            
    static void Main()
            {
                var constr 
    = @"Data Source=NOTEBOOK\SQLEXPRESS;Initial Catalog=DemoDataContext;Integrated Security=True";
                var context 
    = new DataContext(constr) { Log = Console.Out };
                var metaTable 
    = context.Mapping.GetTable(typeof(User));
                Debug.Assert(metaTable 
    != null);

                var typeName 
    = "System.Data.Linq.SqlClient.SqlBuilder";
                var type 
    = typeof(DataContext).Assembly.GetType(typeName);
                var bf 
    = BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod;
                var sql 
    = type.InvokeMember("GetCreateTableCommand", bf, nullnullnew[] { metaTable });
                Console.WriteLine(sql);
                
    //Excute SQL Command
            }
        }
    }
  • 相关阅读:
    洛谷 P1550 [USACO08OCT]Watering Hole G(最小生成树||超级源点)
    洛谷 P2168 [NOI2015]荷马史诗(Huffman树|编码)
    洛谷 P5658 括号树(DFS)
    用堆来求中位数
    c++各种输入输出(文件输入输出,标准输入输出,一些字符串)
    Hello,world!
    【NOIP2013】花匠
    【洛谷习题】最长上升子序列
    【NOIP2014】联合权值
    【NOIP2014】飞扬的小鸟
  • 原文地址:https://www.cnblogs.com/ansiboy/p/1386088.html
Copyright © 2011-2022 走看看