Automatically Generate Buddy Classes From Model In C#
Apr 28, 2010
I use Linq to Sql (although this is equally applicable in Entity Framework) for my models, and I'm finding myself creating buddy classes for my models all the time. I find this time consuming and repetitive. Is there an easy way to automatically generate these buddy classes based on the models? Perhaps a visual studio macro?
[MetadataType(typeof(PersonMetadata))]
public partial class Person
{
}
public class PersonMetadata
{
public object Id { get; set; }
I'm curious as to what people consider better practice, between duplicating model structure in the view model and using a mapping tool to move data between the two, or aggregate the model inside the view model, i.e. have a property on the view model class that is a reference to the actual model. Which is considered a better approach in general?
This is my first post in this forum and I want to congratulate all the ASP.Net MVC team for this great framework.Somedays ago, I saw the new ASP.Net MVC 2 Model Validation, following the instructions from Scott Gu blog...I found something interesting that I don't know if it's an expected behavior or a bug.My Model class is inherited, so I have something like this:
[Code]....
I have an descendent of this class with some more properties, and the validators for ASP.Net MVC:
[Code]....
Then I found that the Client validation don't work for the inherited property
I am trying to create a relation between 2 of my model classes. I have separated my Model classes to be in their own project "Domain Model" and the application exists in the "WebUI" project.
I have 2 models.... SupportIssues and Users....
SupportIssues has a column UserID which is also a primary key in the Users table.
I want to create a relationship where one user can have many support issues.
I make use of validation with data annotations in my model classes. How do I make sure this annotations are not violated when I validate data in my business layer, before sending it to the DAL? I guess I don't want to define the validation rules in two places (model classes and in my BLL-classes)?
How do I model the following using Castle ActiveRecord?
I have two classes, Customer and Task.
I would like to reuse a third class, Note, stored in a Collection in each of the Customer and Task classes.
[Code]....
I would then like to be able to pass the Notes collection to a Gridview, Listview or Repeater in the relevant ASP.Net page for the Customer or Task classes.
I am using a model but as I want to have clean views I use the viewmodel approach which is like a downsized model which I map in my controller actions before sending to the view or getting it back in a HttpPost attributed action.
My question is: where to put the data annotation attributes. On the viewmodel classes or on the model? If I get it clearly the viewmodel annotations are used for the client side generation of validation right?
Do does that mean I have to put data annotations everywhere on both model and viewmodel?
I have a small web application based on asp.net 2010 that manages invoices.
After the invoice is saved, it should automatically generate a pdf file.
which of the following solutions would be fast and easy to incorporate?
Use Sql Server 2008 Reports Use Crystal Reports 2008 and Crystal Reports 2008 for VS 2010 Use itextsharp to create the pdf file Use XSLFO to create the pdf file
The point here is I dont know any of the above. Which one is easy and quick to learn and implement. Are there any other solution to achieve this functionality?
I can't believe I'm having so much trouble finding this information. I'm endeavouring to learn about creating model classes with Linq to SQL. By default VS2010 wants to use SQL Express, but our organisation has several database servers for development so I'd rather use one of those. PLEASE can somebody tell me how I can configure VS2010 to do that, as all I get is 'A network-related or instance-specific error occurred while establishing a connection to SQL Server ... Verify that the instance name is correct'. Yeah, thanks Microsoft. Actually telling me how to verify the instance name would be a really good move here.
i want to automatically generate a unique string as orderID. I dont want to use Guid, it is not user frindly, and i dont want to use indexer either. any build-in datatype i can use?
I would like to generate my links automatically via a static class in each of my aspx pages (or in a common BasePage).Currently I use this:
private const string TEMPLATE = "~/One.aspx"; public static string Link () ( string link = String.Format(TEMPLATE); return link; )
But the name of my page, One.aspx is hardcoded. Is it possible to generate the path instead of this hardcoded constant TEMPLATE. You should know that I do not instantiate the class before creating the link.
s there any code to generate property automatically from datatable?I mean there is a table A with column id,name,address.Run the code and this will generate a class automatically to set and get property.Property of that class will be the column name of the datable A.
I have created an extended method for DataTable. I want to generate a class automatically in my solution when i call that method while writing a code as Visual studio does when it doesnt find the method.e.g mytable.mymethod(); Generate a class
If I make a change to my database (let's say I add a column to a table), is there any magical buttons that I can click to have my Linq to SQL model update to reflect the changes to my table? I had to create two additional columns yesterday, and both times I found myself destroying and then recreating the Linq model.
I have a GridView and a SqlDataSource, which I have set to automatically generate Delete/Insert/Update statements. I then just enabled Deleting on the GridView, and usually away I'd go. For some reason though, the row is not being deleted - the page is posting back but the row is still there. When Delete is clicked, RowDeleting does fire though. What possible causes could this be?
Edit: SELECT command: SELECT id, templatename, CASE WHEN type = 'W' THEN 'Weekly' WHEN type = 'M' THEN 'Monthly' WHEN type = 'Q' THEN 'Quarterly' WHEN type = 'S' THEN 'Six-monthly' WHEN type = 'A' THEN 'Anually' END AS TypeText, CASE WHEN invorcred = 'I' THEN 'Invoice' WHEN invorcred = 'C' THEN 'Credit' END AS 'InvOrCredText', nextinvdate, lastinvdate FROM InvoiceTemplates WHERE (sageaccount = @sageaccount)
Out of good design practice and organization, in which project should a local development SQL database be in a web based application? I'm just starting my assignment so I currently have 'CompanyName.Web.UI' and 'CompanyName.Domain' projects setup. Im using LinqToSql and creating my database from POCOS, meaning I'll have to create some code to generate the DB from my domain model. I.e.
DataContext dc = new DataContext(connString); dc.GetTable<TableType>(); dc.CreateDatabase();
How to generate a path/url from a Route in the Routes table? only this time I'd like to be able to build a url within one of my Model (partial) classes. I'm defining a new property that will contain the text to be rendered within an rss feed, and want to inser urls (within anchor tags) in this text. I found the UrlHelper.GenerateUrl method, but get unstuck once I get beyond passing in the appropriate RouteName, ActionName and ControllerName.
I have a webforms (framework 3.5) site with a TON of dynamic content. Depending on the url, one or many content items will be sent to the client. I need a way to generate meta keywords for SEO based on the contents of the page (or part of the page, if possible).
I've done a little research and am not really turning up anything that addresses my problem directly. I have, on the other hand, found some interesting stuff that might get me there with considerable work. One idea I have is to intercept the response buffer at Application_BeginRequest (global.asax), parse out some meaningful keywords, and inject them back into the response buffer. However, this seems like a pretty expensive process and I don't even know if it's possible. I also feel like there could be a way to do this with an HttpModule.
I'm interested in what the community has to say about this. Is there already an existing and accepted way to do this that I'm just missing.
I'm using the following codeproject to build an asp.net website and so far everything is good. My only problem is after the barcode is generated, a huge whitespace exist to the right of the barcode. I've been playing with this and am unable to resolve it. Details below:
Link to Code Project Article: http://www.codeproject.com/KB/aspnet/AspBarCodes.aspx?msg=354380