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

本来想生成具有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

上一篇:Jmeter 对 linux 数据库进行压测


下一篇:MySql集群部署