Click here to Skip to main content
Click here to Skip to main content

SqlMetalPlus- A VS Add-in to Manage Custom Changes to DBML

By , 15 Feb 2012
 
SqlMetalPlus_img.jpg

Introduction

When using LINQ to SQL in one of our projects, we came across a situation where we had to make a lot of changes to the DBML file SqlMetal generates, such as:

  1. Change all lookup values to enums so that our code looks more elegant
  2. Modify the generated association member names to our own names for better readability
  3. Remove unwanted tables/Stored Procedures
  4. etc.

While trying to make all the above changes, it became cumbersome to repeat the same changes again and again whenever we regenerated the DBML. So, I started with writing a small script which finally got transformed to a VS add-in.

Installing the Add-in

I have included a Wix project along with the add-in source which generates the MSI. So, just install and you are ready to go.

How It Works

The add-in looks for an XML file in the same folder as the DBML file with a name as DBML file name + "custom.xml". So, if your DBML file name is Northwind.dbml, then your custom mapping file should be named as "northwind.dbml.custom.xml".

The add-in adds two context menu options to all the DBML files in the solution.

  1. Create Mapping XML
    • This command just creates the initial mapping file for you to customize. It just creates a copy of DBML file and changes the file name.
  2. Apply Customization
    • This command applies the custom changes to the existing DBML file.
  3. Create/Refresh
    • This command either creates the initial DBML (or) refreshes the complete DBML with the latest changes from the selected database and then applies the custom changes.

Both commands will regenerate the designer.cs and layout files automatically so that you can view the modified DBML in the designer once the task is done.

How To Create a Custom Mapping XML

Just create a copy of the DBML file and rename as per the naming conventions by appending with "custom.xml". One advantage with this approach is Visual Studio provides auto-completion for all possible attributes as well as node names. You can add a custom attribute called "CustomizationType" which takes "Add", "Update", "Delete", which specifies the customization you are looking for that specific node.

For example, if you want to make a specific column from the database to be invisible in your code for whatever reason, you can update the column node in the mapping file as below:

<Column CustomizationType="Delete" Name="Description"
        Type="System.String" DbType="VarChar(50) NOT NULL"
        CanBeNull="false" />

For changing the lookup columns type to enum, you can modify the node in the custom mapping file as below:

Initial Version

<Column Name="ProductStatusCd" Type="System.Int16"
        DbType="SmallInt NOT NULL" CanBeNull="false" />

In the Custom XML

<Column Name="ProductStatusCd" Member="ProductStatus"
        Type="global::SampleApplication.ProductStatus"
        DbType="SmallInt NOT NULL" CanBeNull="false" />

If you observe the above custom change, I have changed the Member attribute also to "ProductStatus", so in my code, I can refer to this column as "ProductStatus" instead of "ProductStatusCd".

Now, I can write my LINQ queries like below, which is more elegant:

var activeProducts = from p in dbContext.Products
                     where p.ProductStatus == ProductStatus.Active
                     select p; 

Similarly, you can make any custom change which is allowed in the DBML by the VS designer and save the custom XML file, and the add-in takes care of applying these changes to the final DBML file.

Screenshots to Show the Usage

  1. Add a new DBML file to the project using Visual Studio Add New Dialog. This will add a blank DBML file to the project:

  2. Choose "Create/Refresh" command of the addin to generate the DBML from the given database connection:

  3. Provide Connection details as well as sqlMetal specific properties like serialization type etc.:

  4. The screen below shows the initial DBML generated. Now we have to create the custom mapping file for this:

  5. Choose "Create Mapping XML" command to create the base mapping XML based on the initial DBML file. We use this file to specify our customizations. You can remove those tables/columns/functions from this mapping file if you don't need any customization for them. But keeping them will make addin think that you need some customization for these entities as well. But as long as we don't specify any customizations specified, addin will just ignore them.

  6. Here is a sample custom mapping file which I have used in the sample (now included in the source code). I have tried to explain as much as possible but if anything is not clear, let me know.
    <?xml version="1.0" encoding="utf-8"?>
    <!--At the root level, you can change attributes like Serialization,
        Class,EntityNamespace,ContextNamespace.
    But you can always customize the code if you have any need to change
        AccessModifier,BaseType etc.
    You can include any extra namespaces you want to add, using "CustomNapespaces" node.
    -->
    <Database Name="TestDB" Serialization="Unidirectional"
        xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
      <CustomNamespaces>
        <Namespace Name="System.IO" Alias="MyAlias"/>
        <Namespace Name="System.Text"/>
      </CustomNamespaces>
      <!--
      Possible changes implemented are "Member" and you can add custom attributes
        (xml serialization,propertygrid related etc) to the generated class.
      -->
      <Table Name="dbo.ProductCategories" Member="ProductCategories">
        <!--
      Possible changes implemented are "Name" and "Id".
      for example, if your table name in db is "product_category",
      you can change to "ProductCategory" if you follow specific naming
      conventions or to satisfy FxCop:)
      -->
        <CustomAttributes>
          <Attribute Name="YourOwnCustomAttribute">"Parameters if any"</Attribute>
        </CustomAttributes>
        <Type Name="ProductCategory"  >
          <Column Name="ProductCategoryID" Type="System.Int32"
        DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true"
        IsDbGenerated="true" CanBeNull="false" />
    
          <Column Name="Description" Type="System.String"
        DbType="VarChar(50) NOT NULL" CanBeNull="false" />
          <Column Name="ParentCategoryID" Type="System.Int32"
        DbType="Int" CanBeNull="true" >
        <CustomAttributes>
          <Attribute Name="global::System.ComponentModel.Description">
        "Category Name"</Attribute>
          <Attribute Name="DisplayName">"Category"</Attribute>
          <Attribute Name="Category">"Main Properties"</Attribute>
        </CustomAttributes>
        <Column>
    
          <Association Name="FK_ProductCategories_ProductCategories"
        Member="ParentCategory" ThisKey="ParentCategoryID"
        OtherKey="ProductCategoryID" Type="ProductCategory" IsForeignKey="true" />
    
          <Association Name="FK_ProductCategories_ProductCategories"
        Member="ChildCategories" ThisKey="ProductCategoryID"
        OtherKey="ParentCategoryID" Type="ProductCategory" DeleteRule="NO ACTION" />
    
          <Association Name="FK_Products_ProductCategories"
        Member="Products" ThisKey="ProductCategoryID"
        OtherKey="ProductCategoryID" Type="Product" DeleteRule="NO ACTION" />
    
        </Type>
      </Table>
      <Table Name="dbo.Products" Member="Products">
        <Type Name="Product">
    
          <Column Name="ProductID" Type="System.Int32"
        DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true"
        IsDbGenerated="true" CanBeNull="false" />
    
          <Column Name="ProductName" Type="System.String"
        DbType="VarChar(50) NOT NULL" CanBeNull="false" />
          <!--Example to add a custom property to the Product-->
    
          <Column Name="NewCustomProperty" Type="System.String"
        CustomizationType="Add"/>
          <Column Name="ProductCategoryID" Type="System.Int32"
        DbType="Int NOT NULL" CanBeNull="false" />
    
          <!--Example to change the datatype to enum and change the
        Member attribute value such that we can refer in our code as
        "ProductStatus" which is more meaningful than "ProductStatusCd".
          Also here i have n't specified any CustomizationType.By default
        its assumed to be "Update".This is just to save some typing
        as most of the changes we do ,are updates. :)
    
          -->
          <Column Name="ProductStatusCd" Member="ProductStatus"
        Type="global::SampleApplication.ProductStatus"
        DbType="SmallInt NOT NULL" CanBeNull="false" />
    
          <!--For Associations, you can mention the Cardinality="One"
        if you know the relation is always one to one.
          Other customizations possible are
            1.Change the Member attribute to your custom name
          -->
          <Association Name="FK_Products_ProductCategories"
        Member="ProductCategory" ThisKey="ProductCategoryID"
        OtherKey="ProductCategoryID" Type="ProductCategory" IsForeignKey="true" />
    
        </Type>
      </Table>
      <!--For Functions, you can change the Method name to a more meaningful
        name than the default generated one. Sp_getproducts->GetProducts
          -->
      <Function Name="dbo.sp_getproducts" Method="GetProducts">
    
        <!--For Parameter, you can change the "Parameter" to a more meaningful
        name than the default generated one. category_id->CategoryID
          -->
        <Parameter Name="category_id" Parameter="CategoryID"
        Type="System.Int32" DbType="Int" />
    
        <!--For ElementType, you can change the Name to a more meaningful
        name than the default generated one. Sp_getproductsResult->ProductDetails
          -->
        <ElementType Name="Sp_getproductsResult">
          <!--For ElementType Columns, you can change the Member and Type-->
          <Column Name="ProductID" Type="System.Int32" DbType="Int" CanBeNull="true" />
    
          <Column Name="ProductName" Type="System.String"
        DbType="VarChar(50)" CanBeNull="true" />
        </ElementType>
    
      </Function>
    
      <Function CustomizationType="Delete"
        Name="dbo.sp_alterdiagram" Method="Sp_alterdiagram">
        <Parameter Name="diagramname" Type="System.String" DbType="NVarChar(128)" />
    
        <Parameter Name="owner_id" Type="System.Int32" DbType="Int" />
        <Parameter Name="version" Type="System.Int32" DbType="Int" />
    
        <Parameter Name="definition" Type="System.Data.Linq.Binary"
        DbType="VarBinary(MAX)" />
        <Return Type="System.Int32" DbType="Int" />
    
      </Function>
      <Function CustomizationType="Delete" Name="dbo.sp_creatediagram"
        Method="Sp_creatediagram">
        <Parameter Name="diagramname" Type="System.String" DbType="NVarChar(128)" />
    
        <Parameter Name="owner_id" Type="System.Int32" DbType="Int" />
        <Parameter Name="version" Type="System.Int32" DbType="Int" />
    
        <Parameter Name="definition" Type="System.Data.Linq.Binary"
        DbType="VarBinary(MAX)" />
        <Return Type="System.Int32" DbType="Int" />
    
      </Function>
      <Function CustomizationType="Delete" Name="dbo.sp_dropdiagram"
        Method="Sp_dropdiagram">
        <Parameter Name="diagramname" Type="System.String" DbType="NVarChar(128)" />
    
        <Parameter Name="owner_id" Type="System.Int32" DbType="Int" />
        <Return Type="System.Int32" DbType="Int" />
    
      </Function>
      <Function CustomizationType="Delete"
        Name="dbo.sp_helpdiagramdefinition" Method="Sp_helpdiagramdefinition">
        <Parameter Name="diagramname" Type="System.String" DbType="NVarChar(128)" />
    
        <Parameter Name="owner_id" Type="System.Int32" DbType="Int" />
        <ElementType Name="Sp_helpdiagramdefinitionResult">
          <Column Name="version" Member="Version"
        Type="System.Int32" DbType="Int" CanBeNull="true" />
    
          <Column Name="definition" Member="Definition"
        Type="System.Data.Linq.Binary" DbType="VarBinary(MAX)" CanBeNull="true" />
    
        </ElementType>
      </Function>
      <Function CustomizationType="Delete" Name="dbo.sp_helpdiagrams"
        Method="Sp_helpdiagrams">
        <Parameter Name="diagramname" Type="System.String" DbType="NVarChar(128)" />
    
        <Parameter Name="owner_id" Type="System.Int32" DbType="Int" />
        <ElementType Name="Sp_helpdiagramsResult">
          <Column Name="Database" Type="System.String"
        DbType="NVarChar(128)" CanBeNull="true" />
    
          <Column Name="Name" Type="System.String"
        DbType="NVarChar(128)" CanBeNull="true" />
          <Column Name="ID" Type="System.Int32" DbType="Int" CanBeNull="true" />
    
          <Column Name="Owner" Type="System.String"
        DbType="NVarChar(128)" CanBeNull="true" />
          <Column Name="OwnerID" Type="System.Int32" DbType="Int" CanBeNull="true" />
    
        </ElementType>
      </Function>
      <Function CustomizationType="Delete"
        Name="dbo.sp_renamediagram" Method="Sp_renamediagram">
        <Parameter Name="diagramname" Type="System.String" DbType="NVarChar(128)" />
    
        <Parameter Name="owner_id" Type="System.Int32" DbType="Int" />
        <Parameter Name="new_diagramname" Type="System.String" DbType="NVarChar(128)" />
    
        <Return Type="System.Int32" DbType="Int" />
      </Function>
    </Database>
  7. Finally choose "Apply Customization" command to apply your custom mapping to the initial DBML:

  8. And here is the final DBML:

  9. Once you are ready with one version of your DBML, you can just keep making changes to your mapping file and use "Create/Refresh" command to update the DBML from the database and automatically apply your custom changes.

Points of Interest

Do not use the VS Designer to create the DBML if you want to use this add-in, because for whatever reason, the association key names generated by VS Designer are different from the ones generated by the SqlMetal tool. SqlMetal names the association keys the same as the foreign key names in the database but the VS designer changes them to the sourcetable_targettable format. As this add-in relies on sqlmetal.exe to generate the initial DBML, do not make any changes to the DBML using the VS Designer. Of course, you can open the final DBML and view the same in the designer to get a clear picture of what is changed and whether all the changes are correctly applied.

Conclusion

I have included the source code for the Wix project as well which will give you a basic idea on how to create a simple setup project using Wix (Windows Installer XML). Apart from solving a common problem while using LINQ to SQL, I hope it will help somebody to write her/his own VS Addin.

Any feedback/suggestions are welcome.

References

I used this article to display SQL connection string properties (but converted the code to C#): http://www.codeproject.com/KB/vb/SQL_Connection_Dialog.aspx.

History

  • 12th June 2009: Initial version published
  • 14th June 2009: Updated version published
  • 23rd February, 2010: Updated setup and source files
  • 1st March, 2010: Updated to support all possible attributes for each node (column, table, database, etc.). Any valid attribute specified in custom XML will be applied to the DBML file.
  • 14th July, 2011: Updated download files - few bug fixes
  • 24th July, 2011: Updated to support including additional namespaces added to the generated code and support custom attributes added to the entity classes generated and properties generated
  • 15th Feb, 2012: Provided support for adding custom attributes in VB.NET

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Azeet
Other EMC Corporation
India India
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionError in fields lowercasememberchascos6923 Apr '13 - 23:04 
It does not work well.
 
It does not consider whether the first letter tables field is case sensitive. The utility always regenerates in uppercase the field
 
---
 
Ok now see than problem is in sqlmetal.exe.... any solution?
QuestionVisual Web Developer Express 2010memberMember 6575564 Mar '13 - 15:35 
I installed using your install program for Microsoft Visual Studio 2010 and saw your add-in.
Can it work with VWDE 2010 ?
AnswerRe: Visual Web Developer Express 2010memberAzeet4 Mar '13 - 16:10 
Hi,
I never tried installing on VWDE but I think it should work. any issues?
Azeet
GeneralMy vote of 5memberAbinash Bishoyi27 Feb '13 - 13:24 
Superb!!!
GeneralRe: My vote of 5memberAzeet19 Mar '13 - 14:04 
Glad it helped you Smile | :)
QuestionVB.NETmemberpontiveros27 Nov '12 - 9:32 
Hi,
 
Excelent piece of code. Does it should work with VB.NET. If it does, then i can't make it work.
I've VS.2010 and every time I apply the Customization, it brings me all the schema without my modifications.
 
My xml look like this:
 
<?xml version="1.0" encoding="utf-8"?>
<Database Name="cts-pc.enterpriseadmindb.dbo" Class="FiData" Serialization="Unidirectional" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
  <Table Name="dbo.CTSCFGIAE" Member="CTSCFGIAE">
    <Type Name="CTSCFGIAE">
      <Column Name="CodOper" Type="System.String" DbType="VarChar(10) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="Patente" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
      <Column Name="RUC" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="Correl" Type="System.Int32" DbType="Int" CanBeNull="true" />
    </Type>
  </Table>
...

AnswerRe: VB.NETmemberAzeet27 Nov '12 - 18:24 
It does support VB.NET.i have tested couple of times.
can you show me your customization xml?
QuestionRe: VB.NETmemberpontiveros28 Nov '12 - 1:05 
Hi Azeet,
 
My full xml is:
 
<?xml version="1.0" encoding="utf-8"?><Database Name="enterpriseadmindb" Class="FiData" Serialization="Unidirectional" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
  <Connection Mode="AppSettings" ConnectionString="Data Source=cts-pc;Initial Catalog=enterpriseadmindb;Integrated Security=True" SettingsObjectName="CTS.FiSpool.Data.My.MySettings" SettingsPropertyName="enterpriseadmindbConnectionString1" Provider="System.Data.SqlClient" />
  <Table Name="dbo.CTSFIBRAND" Member="FiBrands">
    <Type Name="FiBrand">
      <Column Name="IdBrand" Type="System.Int32" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
      <Column Name="Marca" Type="System.String" DbType="VarChar(20)" CanBeNull="true" />
      <Association Name="FiBrand_FiModel" Member="FiModels" ThisKey="IdBrand" OtherKey="IdBrand" Type="FiModel" />
    </Type>
  </Table>
  <Table Name="dbo.CTSFIXZ" Member="FiReps">
    <Type Name="FiRep">
      <Column Name="IdRep" Type="System.Int32" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
      <Column Name="IdHost" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="Tipo" Type="System.String" DbType="VarChar(1)" CanBeNull="true" />
      <Column Name="Fecha" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="Numero" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Association Name="FiRep_FiFact" Member="FiFacts" ThisKey="IdRep" OtherKey="IdRep" Type="FiFact" />
      <Association Name="FiHost_FiRep" Member="FiHost" ThisKey="IdHost" OtherKey="IdHost" Type="FiHost" IsForeignKey="true" />
    </Type>
  </Table>
  <Table Name="dbo.CTSFIFACT" Member="FiFacts">
    <Type Name="FiFact">
      <Column Name="IdFact" Type="System.Int32" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
      <Column Name="IdRep" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="IdHost" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="NumeroD" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="TipoFac" Type="System.String" DbType="VarChar(1)" CanBeNull="true" />
      <Column Name="NumeroFi" Type="System.String" DbType="VarChar(20)" CanBeNull="true" />
      <Column Name="Reimprimir" Type="System.Boolean" DbType="Bit" CanBeNull="true" />
      <Column Name="Orden" Type="System.Int32" DbType="Int" CanBeNull="true" />
      <Column Name="Fecha" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Association Name="FiHost_FiFact" Member="FiHost" ThisKey="IdHost" OtherKey="IdHost" Type="FiHost" IsForeignKey="true" />
      <Association Name="FiRep_FiFact" Member="FiRep" ThisKey="IdRep" OtherKey="IdRep" Type="FiRep" IsForeignKey="true" />
      <Association Name="SAFACT_FiFact" Member="SAFACT" ThisKey="TipoFac,NumeroD" OtherKey="TipoFac,NumeroD" Type="SAFACT" IsForeignKey="true" />
    </Type>
  </Table>
  <Table Name="dbo.CTSFIHOST" Member="FiHosts">
    <Type Name="FiHost">
      <Column Name="IdHost" Type="System.Int32" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
      <Column Name="IdModel" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="Alias" Type="System.String" DbType="VarChar(50) NOT NULL" CanBeNull="false" />
      <Column Name="Port" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="Serial" Type="System.String" DbType="VarChar(20)" CanBeNull="true" />
      <Column Name="Copias" Type="System.Int32" DbType="Int" CanBeNull="true" />
      <Column Name="Periodo" Type="System.Int32" DbType="Int" CanBeNull="true" />
      <Column Name="Machine" Type="System.String" DbType="VarChar(50)" CanBeNull="true" />
      <Column Name="ShowVendedor" Type="System.Boolean" DbType="Bit" CanBeNull="true" />
      <Column Name="ShowCodProd" Type="System.Boolean" DbType="Bit" CanBeNull="true" />
      <Column Name="ShowComentarios" Type="System.Boolean" DbType="Bit" CanBeNull="true" />
      <Column Name="ShowFormaPago" Type="System.Boolean" DbType="Bit" CanBeNull="true" />
      <Column Name="ShowCredito" Type="System.Boolean" DbType="Bit" CanBeNull="true" />
      <Association Name="FiHost_FiHostPerm" Member="FiHostPerms" ThisKey="IdHost" OtherKey="IdHost" Type="FiHostPerm" />
      <Association Name="FiHost_FiFact" Member="FiFacts" ThisKey="IdHost" OtherKey="IdHost" Type="FiFact" />
      <Association Name="FiHost_FiRep" Member="FiReps" ThisKey="IdHost" OtherKey="IdHost" Type="FiRep" />
      <Association Name="FiModel_FiHost" Member="FiModel" ThisKey="IdModel" OtherKey="IdModel" Type="FiModel" IsForeignKey="true" />
    </Type>
  </Table>
  <Table Name="dbo.CTSFIHPERM" Member="FiHostPerms">
    <Type Name="FiHostPerm">
      <Column Name="IdHost" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="CodEsta" Type="System.String" DbType="VarChar(20) NOT NULL" CanBeNull="false" />
      <Column Name="CodOper" Type="System.String" DbType="VarChar(20)" CanBeNull="true" />
      <Association Name="FiHost_FiHostPerm" Member="FiHost" ThisKey="IdHost" OtherKey="IdHost" Type="FiHost" IsForeignKey="true" />
    </Type>
  </Table>
  <Table Name="dbo.CTSFIMOD" Member="FiModels">
    <Type Name="FiModel">
      <Column Name="IdModel" Type="System.Int32" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
      <Column Name="IdBrand" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="Modelo" Type="System.String" DbType="VarChar(20)" CanBeNull="true" />
      <Column Name="HostClass" Type="System.String" DbType="VarChar(20)" CanBeNull="true" />
      <Association Name="FiModel_FiHost" Member="FiHosts" ThisKey="IdModel" OtherKey="IdModel" Type="FiHost" />
      <Association Name="FiBrand_FiModel" Member="FiBrand" ThisKey="IdBrand" OtherKey="IdBrand" Type="FiBrand" IsForeignKey="true" />
    </Type>
  </Table>
  <Table Name="dbo.SAFACT" Member="SAFACTs">
    <Type Name="SAFACT">
      <Column Name="TipoFac" Type="System.String" DbType="VarChar(1) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="NumeroD" Type="System.String" DbType="VarChar(10) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="NroUnico" Type="System.Int32" DbType="Int NOT NULL IDENTITY" IsDbGenerated="true" CanBeNull="false" />
      <Column Name="NroCtrol" Type="System.String" DbType="VarChar(20)" CanBeNull="true" />
      <Column Name="Status" Type="System.String" DbType="VarChar(2)" CanBeNull="true" />
      <Column Name="CodSucu" Type="System.String" DbType="VarChar(5)" CanBeNull="true" />
      <Column Name="CodEsta" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="CodUsua" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="EsCorrel" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="CodConv" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="Signo" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="FechaT" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="OTipo" Type="System.String" DbType="VarChar(1)" CanBeNull="true" />
      <Column Name="ONumero" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="TipoTra" Type="System.String" DbType="VarChar(1)" CanBeNull="true" />
      <Column Name="NumeroC" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="NumeroT" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
      <Column Name="NumeroR" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="FechaD1" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="NumeroD1" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
      <Column Name="NumeroK" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
      <Column Name="NumeroF" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="NumeroP" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
      <Column Name="NumeroE" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="NumeroZ" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="EsExPickup" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="Moneda" Type="System.String" DbType="VarChar(5)" CanBeNull="true" />
      <Column Name="Factor" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MontoMEx" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CodClie" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
      <Column Name="CodVend" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="CodUbic" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="Descrip" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Direc1" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Direc2" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Direc3" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Pais" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="Estado" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="Ciudad" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="Municipio" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="ZipCode" Type="System.String" DbType="VarChar(20)" CanBeNull="true" />
      <Column Name="Telef" Type="System.String" DbType="VarChar(30)" CanBeNull="true" />
      <Column Name="ID3" Type="System.String" DbType="VarChar(25)" CanBeNull="true" />
      <Column Name="Monto" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoTax" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Fletes" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="TGravable" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="TExento" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CostoPrd" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CostoSrv" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="DesctoP" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="RetenIVA" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="FechaR" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="FechaI" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="FechaE" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="FechaV" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="MtoTotal" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Contado" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Credito" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CancelI" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CancelA" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CancelE" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CancelC" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CancelT" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CancelG" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CancelP" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Cambio" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="EsConsig" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="MtoExtra" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="ValorPtos" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Descto1" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="PctAnual" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoInt1" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Descto2" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="PctManejo" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoInt2" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="SaldoAct" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoPagos" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoNCredito" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoNDebito" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoFinanc" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="DetalChq" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="TotalPrd" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="TotalSrv" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="OrdenC" Type="System.String" DbType="VarChar(30)" CanBeNull="true" />
      <Column Name="CodOper" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="NGiros" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="NMeses" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="MtoComiVta" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoComiCob" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoComiVtaD" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoComiCobD" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Notas1" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Notas2" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Notas3" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Notas4" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Notas5" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Notas6" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Notas7" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Notas8" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Notas9" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="Notas10" Type="System.String" DbType="VarChar(60)" CanBeNull="true" />
      <Column Name="AutSRI" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="FechaSRI" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="NroEstable" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="PtoEmision" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Association Name="SAFACT_FiFact" Member="FiFacts" ThisKey="TipoFac,NumeroD" OtherKey="TipoFac,NumeroD" Type="FiFact" />
      <Association Name="SAFACT_SAITEMFAC" Member="SAITEMFACs" ThisKey="TipoFac,NumeroD" OtherKey="TipoFac,NumeroD" Type="SAITEMFAC" />
      <Association Name="SAFACT_SATAXVTA" Member="SATAXVTAs" ThisKey="TipoFac,NumeroD" OtherKey="TipoFac,NumeroD" Type="SATAXVTA" />
    </Type>
  </Table>
  <Table Name="dbo.SAITEMFAC" Member="SAITEMFACs">
    <Type Name="SAITEMFAC">
      <Column Name="TipoFac" Type="System.String" DbType="VarChar(1) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="NumeroD" Type="System.String" DbType="VarChar(10) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="OTipo" Type="System.String" DbType="VarChar(1)" CanBeNull="true" />
      <Column Name="ONumero" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="NumeroE" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="Status" Type="System.String" DbType="VarChar(2)" CanBeNull="true" />
      <Column Name="NroLinea" Type="System.Int32" DbType="Int NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="NroLineaC" Type="System.Int32" DbType="Int NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="CodItem" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
      <Column Name="CodUbic" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="CodMeca" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="CodVend" Type="System.String" DbType="VarChar(10)" CanBeNull="true" />
      <Column Name="Descrip1" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Descrip2" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Descrip3" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Descrip4" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Descrip5" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Descrip6" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Descrip7" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Descrip8" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Descrip9" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Descrip10" Type="System.String" DbType="VarChar(40)" CanBeNull="true" />
      <Column Name="Refere" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
      <Column Name="Signo" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="CantMayor" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Cantidad" Type="System.Decimal" DbType="Decimal(28,5)" CanBeNull="true" />
      <Column Name="CantidadO" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Tara" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="ExistAntU" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="ExistAnt" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CantidadU" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CantidadC" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="CantidadA" Type="System.Decimal" DbType="Decimal(28,5)" CanBeNull="true" />
      <Column Name="CantidadUA" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="TotalItem" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="Costo" Type="System.Decimal" DbType="Decimal(28,5)" CanBeNull="true" />
      <Column Name="Precio" Type="System.Decimal" DbType="Decimal(28,5)" CanBeNull="true" />
      <Column Name="Descto" Type="System.Decimal" DbType="Decimal(28,5)" CanBeNull="true" />
      <Column Name="NroUnicoL" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
      <Column Name="NroLote" Type="System.String" DbType="VarChar(20)" CanBeNull="true" />
      <Column Name="FechaE" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="FechaL" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="FechaV" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
      <Column Name="EsServ" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="EsUnid" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="EsFreeP" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="EsPesa" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="EsExento" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="UsaServ" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="DEsLote" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="DEsSeri" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Column Name="DEsComp" Type="System.Int16" DbType="SmallInt NOT NULL" CanBeNull="false" />
      <Association Name="SAITEMFAC_SATAXITF" Member="SATAXITFs" ThisKey="TipoFac,NumeroD,NroLinea,NroLineaC" OtherKey="TipoFac,NumeroD,NroLinea,NroLineaC" Type="SATAXITF" />
      <Association Name="SAFACT_SAITEMFAC" Member="SAFACT" ThisKey="TipoFac,NumeroD" OtherKey="TipoFac,NumeroD" Type="SAFACT" IsForeignKey="true" />
    </Type>
  </Table>
  <Table Name="dbo.SATAXITF" Member="SATAXITFs">
    <Type Name="SATAXITF">
      <Column Name="TipoFac" Type="System.String" DbType="VarChar(1) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="NumeroD" Type="System.String" DbType="VarChar(10) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="NroLinea" Type="System.Int32" DbType="Int NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="NroLineaC" Type="System.Int32" DbType="Int NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="CodTaxs" Type="System.String" DbType="VarChar(5) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="CodItem" Type="System.String" DbType="VarChar(15)" CanBeNull="true" />
      <Column Name="Monto" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="TGravable" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoTax" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Association Name="SAITEMFAC_SATAXITF" Member="SAITEMFAC" ThisKey="TipoFac,NumeroD,NroLinea,NroLineaC" OtherKey="TipoFac,NumeroD,NroLinea,NroLineaC" Type="SAITEMFAC" IsForeignKey="true" />
    </Type>
  </Table>
  <Table Name="dbo.SATAXVTA" Member="SATAXVTAs">
    <Type Name="SATAXVTA">
      <Column Name="TipoFac" Type="System.String" DbType="VarChar(1) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="NumeroD" Type="System.String" DbType="VarChar(10) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="CodTaxs" Type="System.String" DbType="VarChar(5) NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
      <Column Name="Monto" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="MtoTax" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Column Name="TGravable" Type="System.Decimal" DbType="Decimal(28,4) NOT NULL" CanBeNull="false" />
      <Association Name="SAFACT_SATAXVTA" Member="SAFACT" ThisKey="TipoFac,NumeroD" OtherKey="TipoFac,NumeroD" Type="SAFACT" IsForeignKey="true" />
    </Type>
  </Table>
</Database>
 
It has only certain tables of the schema, some with custom names, and all the associations bewteen them. When i ran the tool, it brings me all the other tables, and deletes the associations.
AnswerRe: VB.NETmemberAzeet28 Nov '12 - 2:48 
Hi,
if you choose the option "Create/Refresh" then the tool will replace your existing DBML with latest from database.if you dont want that to happen then you just need to use the option "Create Mapping Xml" from your existing DBML and then "Apply Customization".
And regarding deleting the foreign keys, it happens when you change the foreign key columns to enumerations.
Hope it helps
Azeet
QuestionI can't make it workmemberMember 241417531 Oct '12 - 0:45 
Hi,
I can't make the plugin run on my machine.
 
I've Visual Studio 2010 Ultimate running on Windows 7 Enterprise N 64 bit.
 
Is there any limitation?
 
Thanks
AnswerRe: I can't make it workmemberMember 241417531 Oct '12 - 2:03 
I rebuild source and add "bin" folder to Visual Studio addins paths.
That make appear addin in VS 2010.
Now I've an exception on PATH variable:
---------------------------
Unhandled Exception
---------------------------
System.Exception: the path for sqlmetal.exe not found. Correct the environment variable(PATH) and try again.
 
at SqlMetalPlus.Connect.RefreshDBML(ProjectItem item) in C:\Users\a548133\Downloads\Software\LINQ\SqlMetalPlus_src\SqlMetalPlus\Connect.cs:line 965
 
at SqlMetalPlus.Connect.Exec(String CmdName, vsCommandExecOption ExecuteOption, Object& VariantIn, Object& VariantOut, Boolean& Handled) in C:\Users\a548133\Downloads\Software\LINQ\SqlMetalPlus_src\SqlMetalPlus\Connect.cs:line 283
GeneralRe: I can't make it workmemberAzeet31 Oct '12 - 5:17 
You need to set the path to SqlMetal.exe in your PATH environment variable or you can specify the complete path in the dialog
AnswerRe: I can't make it workmemberAzeet31 Oct '12 - 5:19 
There is no limitation.in fact i have VS2010 ultimate running on Windows 7 64bit.can you post any error message?
GeneralMy vote of 5mvpKanasz Robert26 Sep '12 - 4:57 
Good job.
GeneralRe: My vote of 5memberAzeet26 Sep '12 - 5:22 
Glad it helped youSmile | :)
GeneralMy vote of 5memberMember 924378211 Jul '12 - 20:36 
Wow!!
GeneralMy vote of 3memberkishhr22 Jun '12 - 2:02 
Felt pretty good but talks only basics, try to provide some new stuffs also
QuestionNice work + QuestionmemberJohanGillis18 Jun '12 - 3:41 
It seems that the sqlmetal path is not remembered between 2 runs. is it possible to do this?
Jg

AnswerRe: Nice work + QuestionmemberAzeet18 Jun '12 - 3:48 
Thanks.Its supposed to save the path in config file
If its not then,it must be a minor issue
Btw you dont need to specify the path if you set the PATH in enviroment variables
Azeet
GeneralMy vote of 5memberronen.l27 Feb '12 - 0:35 
This project helps me a lot!
GeneralRe: My vote of 5memberAzeet27 Feb '12 - 9:52 
Glad it helped you. Smile | :)
Questionn2012 comes, in order to thank everyone, characteristic, novel style, varieties, low price and good quality, and the low sale price. Thank everyone ====( http://www.fullmalls.com )===== ====( http://www.fullmalls.com )===== $33 True Religion jeagroupghjtyktyk15 Feb '12 - 15:52 
n2012 comes, in order to thank everyone, characteristic, novel style, varieties, low price and good quality, and the low sale price. Thank everyone
 

====( http://www.fullmalls.com )=====
 
====( http://www.fullmalls.com )=====
 

$33 True Religion jeans, Ed Hardy jeans,LV,Coogi jeans,Affliction jeans
 
$30 Air Jordan shoes,Shox shoes,Gucci,LV shoes
 
50%Discount winter fashion :Sandle,t-shirt,caps,jerseys,handbag and brand watches!!!
 
$15 Ed Hardy ,LV ,Gucci Bikini
 
$15 Polo, Ed Hardy, Gucci, LV, Lacoste T-shirts
 
$25 Coach,Gucci,LV,Prada,Juicy,Chanel handbag,
 
$10 Gucci,Ed Hardy sunglasses
 
$9 New Era caps.
 
give you the unexpected harvest
 
====( http://www.fullmalls.com )=====
 
====( http://www.fullmalls.com )=====
 
====( http://www.fullmalls.com )=====
 
====( http://www.fullmalls.com )=====
 
====( http://www.fullmalls.com )=====
 
====( http://www.fullmalls.com )=====
SuggestionApplyCustomAttributes only works for .cs filesmemberMember 796362013 Feb '12 - 5:25 
I would like to request the ApplyCustomAttributes be changed to work for .vb files as well as .cs files. SQLMetal detects the current language (cs or vb) and generates the designer.?? file accordingly. ApplycustomAttributes currently expects the .cs file.
GeneralRe: ApplyCustomAttributes only works for .cs filesmemberAzeet13 Feb '12 - 6:14 
i will try to implement that.
AnswerRe: ApplyCustomAttributes only works for .cs filesmemberAzeet15 Feb '12 - 0:03 
I have added support for VB.NET.I have sent the latest downloads to codeproject.it may take a while before they appear on codeproject.
Let me know if you face any issues.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130516.1 | Last Updated 15 Feb 2012
Article Copyright 2009 by Azeet
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid