zoukankan      html  css  js  c++  java
  • Linq To SQL 下实现动态表名的映射

    这段时间代码写累了,写几篇文章舒缓一下,也算是劳逸结合吧。如果觉得我的文章对你有用,请给点掌声,谢谢。

    提出问题

    前段时间,在博客园里看到有位朋友,问如何实现在动态表名。我们都知道,把一个实体类映谢到表里,应该这样写:

    Code
        [Table(Name = "User")]
        
    class User
        {
            [Column]
            
    public int ID;

            [Column]
            
    public string Name;

        }

    很明显,这里的表名是写死的,有些时候,我们可能要根据不同的情况实现不同的表名里加个前缀或者后缀,例如:

    tt_User,aa_User,User1、User2。

    分析问题

    要解决这个问题,首先我们就要明白一个问题,DataContext是如何将实体到表的映射的,事实上,它是例用MappingSource提供的信息来进行映射的。要解决上面的问题,我就是需要重新构一个继承于MappingSource的类。

    解决问题

    代码如下:

    Code

    把运行后的结果给大家看一下:

    从上图可以看到,表名已经由原来的User分别变为了User1和User2。

  • 相关阅读:
    c# -- 实现浏览功能(备忘)
    自己动手写中文分词解析器完整教程,并对出现的问题进行探讨和解决(附完整c#代码和相关dll文件、txt文件下载)
    爬虫技术 -- 进阶学习(九)使用HtmlAgilityPack获取页面链接(附c#代码及插件下载)
    爬虫技术 -- 进阶学习(八)模拟简单浏览器(附c#代码)
    爬虫技术 -- 进阶学习(七)简单爬虫抓取示例(附c#代码)
    c# -- 介绍File.AppendAllText 方法
    c# -- 解决FromsAuthentication上下文不存在
    c# -- Form1_Load()不被执行的三个解决方法
    爬虫技术 -- 基础学习(六)解析相对地址
    爬虫技术 -- 基础学习(五)解决页面编码识别(附c#代码)
  • 原文地址:https://www.cnblogs.com/ansiboy/p/1385840.html
Copyright © 2011-2022 走看看