Как я могу добиться этого простого вывода в MyGeneration? - PullRequest
0 голосов
/ 29 июня 2011

Если у меня есть n таблиц в моей Db-схеме и если я хочу просмотреть все таблицы в моей Db и создать a .cs file для каждой таблицы , которая будет содержать сгенерированный ниже код:

public class TableName
{
  private _tableName = "<%TableName%>" //This string will be generated by MyGeneration 
                                  // per each table
  public string TableName {

         get{ return _tableName; }
}

Как должен быть написан мой шаблон?

1 Ответ

0 голосов
/ 29 июня 2011

Я раньше не работал с MyGeneration, но вы можете легко это сделать, используя CodeGenerator .Шаблон будет выглядеть примерно так:

Шаблон XSL

<xsl:stylesheet version="1.0" xmlns:P="http://Schemas.QuantumConceptsCorp.com/CodeGenerator/Project.xsd" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
    <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>

    <xsl:template match="P:Project">
        <xsl:text>
namespace  </xsl:text>
        <xsl:value-of select="@RootNamespace"/>
<xsl:text>.DataObjects
{</xsl:text>
        <xsl:for-each select="P:TableMappings/P:TableMapping[@Exclude='false']">
            <xsl:text>
    public partial class </xsl:text>
            <xsl:value-of select="@ClassName"/>
            <xsl:text>  
    {
        private string TableName  { get { return "</xsl:text>
            <xsl:value-of select="@ClassName"/>
            <xsl:text>"; } }
    }
    </xsl:text>
    </xsl:template>
</xsl:stylesheet>

Результат

namespace [Your.Namespace]
{
    public class [TableName1]
    {
        public string TableName { get { return "[TableName1]"; } }
    }

    //...other tables

    public class [TableNameN]
    {
        public string TableName { get { return "[TableNameN]"; } }
    }
}

Редактировать: Выон также может выводить одну таблицу на файл - похоже, что это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...