搜索
热搜: 活动 交友 discuz
查看: 1450|回复: 7
收起左侧

[SQL/数据库源码分享] 数据表EF POCO生成脚本 FOR SQL SERVER

[复制链接]
  • TA的每日心情
    奋斗
    2019-1-5 01:55
  • 签到天数: 138 天

    [LV.7]常住居民III

    发表于 2013-10-16 14:33:28 | 显示全部楼层 |阅读模式
    数据表EF POCO生成脚本 by 木鱼

    支持各数据类型自动识别,支持自增列自动判断,支持自动根据数据库的字段说明等生成注释
    不支持外键约束,如果有外键约束请自行增加
    遇到不支持的数据类型烦请自行修改脚本 :-)

    生成的类包括实体类型以及相应的一个配置类。

    用法:
    • 运行,在数据库中生成存储过程
    • 调用存储过程生成类

    举例:
    现在生成数据表 RSS_Feed 的实体类。
    [SQL] 纯文本查看 复制代码
    SP_CreateEfClass 'Rss_Feed', 'TestClass.Entities', 'Rss_Feed'


    第一个是存储过程名,后面跟三个参数,分别是 表的名字,实体类的命名空间,实体类的类名。
    生成代码如下(作为演示使用,后续的属性数据库中没有加注释):
    [C#] 纯文本查看 复制代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity;
    using System.Data.Entity.ModelConfiguration;
    
    namespace Rss_Feed
    {
            /// <summary>
            ///RSS种子
            ///</summary>
            public class TestClass.Entities
            {
                    /// <summary>
                    /// ID
                    /// </summary>
                    public int Id { get; set; }
     
                    /// <summary>
                    /// 全局ID
                    /// </summary>
                    public string Guid { get; set; }
     
                    /// <summary>
                    /// 标题
                    /// </summary>
                    public string Title { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public string Url { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public string Link { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public string Description { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public string Lang { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public DateTime PubDate { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public DateTime LastBuildDate { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public int Ttl { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public DateTime? LastUpdateTime { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public DateTime NextUpdateTime { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public int UpdateCount { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public long NumCount { get; set; }
     
                    /// <summary>
                    /// 
                    /// </summary>
                    public int SubscriptionCount { get; set; }
     
            }
     
            /// <summary>
            /// 实体类 <see cref="TestClass.Entities" /> 的配置对象
            /// </summary>
            internal class TestClass.EntitiesConfiguration : EntityTypeConfiguration<TestClass.Entities>
            {
                    public TestClass.EntitiesConfiguration()
                    {
                            ToTable("Rss_Feed");
                            HasKey(m => m.Id);
                            Property(s => s.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
                            Property(s => s.Guid).HasMaxLength(255);
                            Property(s => s.Title).HasMaxLength(200).IsRequired();
                            Property(s => s.Url).HasMaxLength(500).IsRequired();
                            Property(s => s.Link).HasMaxLength(500);
                            Property(s => s.Description).HasMaxLength(510).IsRequired();
                            Property(s => s.Lang).HasMaxLength(10).IsRequired();
                    }
            }
    }
    


    截图如下:



    来自群组: .NET开发

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?入住

    x
  • TA的每日心情
    奋斗
    2019-1-5 01:55
  • 签到天数: 138 天

    [LV.7]常住居民III

     楼主| 发表于 2013-10-16 14:35:06 | 显示全部楼层
    嗯哼。以下是SQL存储过程的代码。
    游客,如果您要查看本帖隐藏内容请回复





  • TA的每日心情
    奋斗
    2019-1-5 01:55
  • 签到天数: 138 天

    [LV.7]常住居民III

     楼主| 发表于 2013-10-16 14:36:23 | 显示全部楼层
    。。。。。貌似代码高亮有问题。待老衲调调。

    点评

    还是一样,不能识别sql代码???  发表于 2013-10-23 00:39
  • TA的每日心情
    奋斗
    2019-1-5 01:55
  • 签到天数: 138 天

    [LV.7]常住居民III

     楼主| 发表于 2013-10-16 17:53:08 | 显示全部楼层
    终于搞定了
  • TA的每日心情
    奋斗
    2013-10-20 09:11
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2013-10-16 23:28:46 | 显示全部楼层
    花瓣拿来主义。
  • TA的每日心情
    擦汗
    2015-10-8 08:08
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2013-10-19 19:25:56 | 显示全部楼层
    伸手党直接伸手拿
  • TA的每日心情
    慵懒
    2017-1-19 08:40
  • 签到天数: 66 天

    [LV.6]常住居民II

    发表于 2013-10-23 00:39:08 | 显示全部楼层
    要回复...屎鱼~~~
    您需要登录后才可以回帖 登录 | 入住

    本版积分规则

    申请友链| Archiver| 手机版| 鱼·后花园

    GMT+8, 2024-3-28 17:56 , Processed in 0.025392 second(s), 22 queries , Redis On.

    Powered by Discuz! X3.4

    © 2005-2024 鱼·后花园

    快速回复 返回顶部 返回列表