Public String Convertdbmltosqlscript (System.Data.Linq.DataContext DBContext)
{
String dbcontextnamespace = Dbcontext.gettype (). Namespace;
StringBuilder sqlscriptcollection = new StringBuilder ();
string[] Dotneedarr = new string[]
{
"Connection", "Transaction", "CommandTimeout",
"Log", "objecttrackingenabled", "deferredloadingenabled",
"Mapping", "Loadoptions", "changeconflicts"
};
foreach (PropertyInfo p in Dbcontext.gettype (). GetProperties ())
{
if (Dotneedarr.contains (p.name)) continue;
String sqlscript = "CREATE TABLE" +p.name+ "(";
Type type = Type.GetType (dbcontextnamespace+ "." + P.name);
foreach (System.Reflection.PropertyInfo mInfo in type. GetProperties ())
{
foreach (Attribute attr in Attribute.GetCustomAttributes (MInfo))
{
if (attr. GetType () = = typeof (Columnattribute))
{
Columnattribute columnattr = attr as Columnattribute;
Sqlscript + = "[" + Minfo.name + "]";
if (ColumnAttr.DbType.Contains ("NULL"))
Sqlscript+=columnattr.dbtype;
Else
Sqlscript+=columnattr.dbtype+ "NULL";
if (Columnattr.isprimarykey)
{
Sqlscript + = "PRIMARY key";
}
Sqlscript + = ",";
}
}
}
Sqlscript = sqlscript.substring (0, sqlscript.length-1);
Sqlscript + = ")";
Sqlscriptcollection.appendline (Sqlscript);
}
return sqlscriptcollection.tostring ();
}
Dataclasses1datacontext DBContext = new Dataclasses1datacontext ();
String resultsql = Convertdbmltosqlscript (DBContext);
Linq. DBML into SQL script