Extending the CodeSmith Generator PLINQO templates

The following guide will walk you through the basics on how-to extend the CodeSmith Generator PLINQO Templates to fit your custom development needs. In this example we will create a new Webpage for each entity that we generate. This page will contain a LinqDataSource control and an ASP.NET GridView control that will display data from a corresponding entity that we generated. I always recommend that you use the PLINQO API when writing templates that interact with code generated by PLINQO as this ensures that the code generated has the proper names and associations and or types. Find relevant templates...

How-to: Create a new Oracle User

Every now and then I need to create a new Oracle user to test the CodeSmith Generator OracleSchemaProvider. I wanted to outline the steps that I use to create a new user as well as change the password of an existing user. The first step one needs to take is to create a new user but you may not remember your login information if it has been a while. At this point I always open up SQL Plus from the start menu and enter in the following user name when prompted. / as sysdba This allows you to connect as the sysdba user without remembering any credentials. Please note that the passwords and/or steps...

Beginning Silverlight 4 in C#

Beginning Silverlight 4 in C#

I have read many technical books over the years and this is one is one of those books that you know you better keep handy. I really like how Robert has this book laid out and how he introduces you to Silverlight. I’ve been a .NET guy since version 1.0. But like most developers, I haven’t had the chance to really dive into Microsoft’s latest technologies like Silverlight until they have a few versions released. I found that the book is laid out very nicely; the first few chapters will introduce you to the tools (Visual Studio 2010). Then it will lead you into what Silverlight is...

How-to: Rename your generated CSLA properties

In the following example, I'll show you how to use the CodeSmith Generator CSLA template's powerful renaming options. Many of you might have a legacy database with those ugly prefixes, or things you wish you could refactor but just can't. Luckily, you're in luck as CodeSmith Generator is going to save the day once again! By default we will strip any invalid characters from your property names like prefixed digits etc... Please note that these methods also work for renaming class names, but there are other methods that we will cover later that are is the recommended way to specify...

How-to: Use a Stored Procedure extended property to preserve custom logic in generated CSLA code.

In the previous article on how to use the partial methods in the CodeSmith Generator CSLA templates to preserve custom code mostly focused on the code side of things. For those of you who might be using Stored Procedures might be wondering... How do I accomplish preserving my custom stored procedure logic? Don't worry, CodeSmith already though of this and didn't leave you out in the dark! The CSLA templates by default will not automatically execute the generated stored procedures but it can! To do this you need to set the AutoExecuteStoredProcedures property to True. Now, when your database...

How-to: Use partial methods to preserve custom CSLA code and promote active regeneration.

One of the best features of code generation is the reality of being able to actively generate you code while preserving custom changes. This allows you to implement custom logic while constantly making changes to your metadata and getting the latest template changes. CodeSmith Generator has worked hard on making this happen in both the PLINQO and CSLA Templates . The CSLA templates offer many partial method overrides to make your life easier. It is recommended that you place any partial methods that you implement in the non-generated partial class; this is always the ClassName.cs or ClassName.vb...

Breaking CSLA 4.0 property changes when using private backing fields.

I came across this bug last night , which was occurring right as CSLA 4 was released. It had to deal with the CodeSmith CSLA templates when you set UseMemberVariables to true. The error is quite obscure and not very intuitive as the signs of a bug are only found when you check to see if your business object IsValid. The scenario in this case is when you set a required managed property, the rules never fully evaluate the set value. A bunch of other side effects could occur as well. Here is the error you could receive: CategoryId required Expected: True But was: False Here is the code that was causing...

How-to: Upgrade a Community Server website thats running 2.1, 2007 or 2008 site to Community Server 2008 or Telligent Community 5.5

I have done a few of these upgrades for a few big sites like Bink.nu and Sober.com . Here is the safest way without a ton of headaches. Please contact me if you need help, I'm willing to do the upgrade for people as well... Please do SQL backups after every step! Database Instructions Upgrade from Community Server 2.1 to 2007.0 Create a SQL backup. Run SQL Compare against a fresh database of cs2007 to the upgraded database and make sure everything transferred correctly. If there were changes, create a SQL backup. Run the upgrade from 2007.0 to the last service pack release of 2007. (I think...

How-to: Preserve column names in generated PLINQO entities.

There may come a time where you need to rename a column in your generated entity for whatever reason. The following tip and trick article will show you how to quickly accomplish this. Let's assume you have a generated property for the column AccountId and it is defined like this: [System.CodeDom.Compiler.GeneratedCode("CodeSmith", "5.0.0.0")] private int _accountId = default(int); /// /// Gets the AccountId column value. /// [System.Data.Linq.Mapping.Column(Name = "AccountId", Storage = "_accountId", DbType = "int NOT NULL IDENTITY", IsPrimaryKey...

How-to: Upgrade your existing CodeSmith Generator CSLA templates from version 3.8 to 4.0

We recently released a new major version of the CodeSmith Generator CSLA templates that add support for many new features including Visual Studio 2010, CSLA 4.0 and Silverlight 4.0 support. They can be downloaded here . When upgrading to the templates and you are going from CSLA 3.8 to the latest CSLA 3.8.4 templates, there really aren’t any changes you need to make other than updating your CodeSmith Project File template location to point to the new version of the templates. The easiest way to do this is to open up Visual Studio and double click on the CodeSmith Project File and do a replace...