您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SqlServer生成实体类,包含Display和StringLength

bubuko 2022/1/25 19:12:27 sqlserver 字数 15416 阅读 784 来源 http://www.bubuko.com/infolist-5-1.html

本来想生成具有model格式的类,但是无法解决回车换行的问题,所以放到3个字段里的;如果有知道的博友,请指教: t_jsd是表名 select '[Display(Name="'+ cast(tab.字段说明 as varchar) +'")]', case when (tab.类型='varcha ...

本来想生成具有model格式的类,但是无法解决回车换行的问题,所以放到3个字段里的;如果有知道的博友,请指教:

t_jsd是表名
select
[Display(Name="+ cast(tab.字段说明 as varchar) +")],
case when (tab.类型=varchar or tab.类型=nvarchar or tab.类型=char) then [StringLength(+cast( tab.占用字节数 as varchar) +, ErrorMessage = "{0}长度不能超过{1}")] else ‘‘ end,
public +(case when tab.类型=varchar then string when tab.类型=nvarchar then string when tab.类型=char then string when tab.类型=datetime then DateTime else tab.类型 end )+ +tab.字段名+ {get;set;}
from
(
select
表名 = case when a.colorder=1 then d.name else ‘‘ end,
表说明 = case when a.colorder=1 then isnull(f.value,‘‘) else ‘‘ end,
字段序号 = a.colorder,
字段名 = a.name,
标识 = case when columnproperty( a.id,a.name,isidentity)=1 then else ‘‘ end,
主键 = case when exists(select 1 from sysobjects where xtype=pk and parent_obj=a.id and name in (
select name from sysindexes where indid in( select indid from sysindexkeys where id = a.id and colid=a.colid))) then  else ‘‘ end,
类型 = b.name,
占用字节数 = a.length,
长度 = columnproperty(a.id,a.name,precision),
小数位数 = isnull(columnproperty(a.id,a.name,scale),0),
允许空 = case when a.isnullable=1 then else ‘‘ end,
默认值 = isnull(e.text,‘‘),
字段说明 = isnull(g.[value],‘‘)
from
syscolumns a
left join
systypes b
on
a.xusertype=b.xusertype
inner join
sysobjects d
on
a.id=d.id and d.xtype=u and d.name<>dtproperties
left join
syscomments e
on
a.cdefault=e.id
left join
sys.extended_properties g
on
a.id=g.major_id and a.colid=g.minor_id
left join
sys.extended_properties f
on
d.id=f.major_id and f.minor_id=0
where
d.name=t_jsd 

) tab

 

SqlServer生成实体类,包含Display和StringLength

原文:https://www.cnblogs.com/cjdbk/p/14621549.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶