Architecture :: How To Implement A Many-to-many Relationship In A Domain Model Class
Jan 12, 2011
what is considered a many-to-many relationship in a domain model class ? I mean how to implement a many-to-many relationship in a domain model class ? In SQL this is represented by a link table between two table but how this is represented in a domain model driven application ?
know whats is happening and why its throwing an error (it does not find GetBrokenRules method because its List) but the reason i posted this question here is to ask for a better design, can anybody guide me here please?i am working on Facilities class (List..../Building/Floor) rror:Error 3System.Collections.Generic.List' does not contain a definition for 'GetBrokenRules' and no extension method 'GetBrokenRules' accepting a first argument of type 'System.Collections.Generic.List' could be found (are you missing a using directive or an assembly reference?)
We have a ASP.NET site that partially depends on forms authentication for login credentials, however the implementation of IPrincipal is completely custom.
But, when running the site on a particular server (which is somewhat semi-hardened when it comes to security), the app crashes when invoking IPrincipal.IsInRole() with the following messsage:
System.SystemException: The trust relationship between the primary domain and the trusted domain failed.
This indicates a communication error between the web-server and the DC, however since our application doesn't at all utilizes Windows authentication, I don't see why it needs to communicate with the DC.
This is my implementation:
[code]...
EDIT:
I was finally enable to reproduce this error on my dev-machine (i revoked my machine from the DC yesterday, but didn't reproduce it until today)
HttpContext.User is actually a WindowsPrincipal by default it seems, and the error in my code was that I only replace it with CustomPrincipal upon login. Hence, unathenticated users still get the WindowsPrincipal which then fails horribly if you have trust issues on your AD.
I tried changing the default principal by invoking this on appstart
Can someone explain me what is is the relationship between App Domain and thread? msdn says "threads are free to cross application domain boundaries; a new thread is not created for each application domain." suppose there is one thread t inside Appdomain a1 .there is an another App domain a2 .thread t can cross to a2 from a1 means it can access a2 memory area If thread can cross the app domain boundaries share the memory space then how application domain isolation is still there?
how controls (txtbox, radio, etc) are mapped to properties in my Model. Now to the next part : My scenario (example):
Model: three tables: tblPerson, tblPersonOptions, tblOptionsConfig UI: Person Name: ______ (required) Person Age: ________ (required)
radio button: Does Person want to select options? Yes / No ? (required) If yes, then show a checkbox list of options from tblOptionsConfig: (required if yes above). Scenario I tested:
Person Name: Tester User Person Age: Left blank (check if validation error is thrown) Radion button: Yes. in options check ..let's say 3 out of 5 options. The UpdateModel throws the validation error and the page is returned back to the view(add.aspx).....................
Say I got a domain model as follows: (and my repository expect an instance of this object)
[Code]....
And a view model (which my views are based on)
[Code]....
At the moment I got it like this and have my controller action manually create a new Person object from the PersonModel object before passing it on to the repository, which does not feel right.
So I tried to have PersonModel inherit from Person and pass that to the repository (also tried casting the PersonModel to a Person object first), but that don't work out.
What's the right way to have PersonModel automatically cast to Person? I want to keep this logic as my current structure allow me to keep things really loosely coupled, with the repository layer not having a clue how it's being used.
the more i read about pattern the more i get confused!
In particular i'm trying to get the relationship between Registry and Repository.
Is it correct to say that a possible implementation of a Registry uses a Factory to return an appropriate Repository which, in turns, uses an underline DataMapper to performe the CRUD operations against a database?
If no, which kind of relationship exists between repository and registry ?
recently i've studied on ADO.NET's Entity Model Framework and say 'wow' as ORM is one of the fevourite pattern i practice..but suddenly i've come to an ambiguous situation when i'm going to start. i usually follow the following 3-tier architecture..
1. UI Layer 2. BLL - business logic layer 3. DAL - Data Access Layer a. DTO / DAO b. Gateway (contains the sql query/stored procedure and connection with DB)
now when i'm going to use the Entity Model Design,where the DBML/ .edmx File should be placed? Because many a times i'm using the DBML file as DTO because of the mapped objects.. in the same time, sometimes DBML ( .edmx file in .NET 4.0) contains CRUD methods and stored procedured method as well as methods with different selection operations,- which should be in Gateway. so where the .edmx file should be placed !?!! IN DTO namespace !? or in Gateway namespace!
moreover sometimes there is no need for the BLL which breaks the rules of inter-layer-communication (UI > BLL > DAL.Gateway)! what makes me confuse is, what should be the ideal n-tier architecture when i'll use the ADO.NET Entity Model Design Framework
I'm building an MVC 2 RTM app, and I want to be able to share my model across applications. I'd *like* to be able to implement it like:ASP.NET MVC2 app (holds Views and Controllers)Class library to hold Model(s)WCF app to handle the data transactions with the models via different data stores across apps I had the MVC app working fine, but I wanted to abstract the data stuff and be able to work with the model across apps through the WCF site, so I created a class library project and moved all of the Models classes into that and set-up a WCF app, then added project references to the MVC and WCF apps that point at the class library. The idea was I can create services that take and return objects from the model via method calls across apps. It appears that everything's wired up correctly in the MVC project, so I'm passing the objects stored in the Models class library between controllers and views and everythig is compiling just fine, but for some reason the data is not being passed back from the views to the controller on POST -- all of the properties in the classes are null or empty.
When I debug the app, I can see that the values are stored in the model data dictionary but not the model object itself. What am I doing wrong? Am I on the wrong path, or missing something obvious (to some)?
I am trying to make a post that should use the Default Model Binder functionality in ASP.NET MVC 2 but unfortunately I can't get through. When I click on the checkout button I populate a form dinamically using jQuery code and then submit this form to the server. This is the form that get submitted
This is the jQuery code that handle the submit event for the form $("#cartForm").submit(function (event) { event.preventDefault(); var form = $("#cartForm"); var panel = form.parent(); panel.parent().block(); $.ajax({ type: "post", dataType: "html", url: '<%: Url.Content("~/Order/Checkout") %>', async: false, data: form.serialize(), success: function (response, status, xml) { panel.parent().unblock(); }, error: function (response) { panel.parent().unblock(); } }); });
This is the controller action that should be get called [HttpPost] [ValidateAntiForgeryToken] public virtual ActionResult Checkout( CartModel cart ) { } And finally this is the CartModel class involved public class CartModel : BaseModel{ public int CustomerID { get; set; } public int FirmID { get; set; } public List<CartItemModel> CartItems { get; set; } public CartModel() { CartItems = new List<CartItemModel>(); } } public class CartItemModel : BaseModel { public int ServiceTypeID { get; set; } public int Quantity { get; set; } }
But the default Model Binder does not bind the web form data to a CartModel class. Using Fiddler I have been able to see that the data sent to the server is correct as you can see from the following snapshot.
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();
When implementing MVP in a ASP.NET project, what are your preferences for how you organize the relationship between your presentation project and your web project?
I want to implement sub domain URL dynamicaly. Like When User login with his/her username in my Web apps made in asp.net 3.5, url chang from www.mydomain.com to username.mydomain.com?means i want to display url from www.mydomain.com to username.mydomain.com?So how can i do it? I seached a lot but cant find right solution?
All the users of my system get a common Id (SystemUserId). There are predefined roles/groups in the system. One user can be belong one or more of these groups. We are populating the menu/dashboard at runtime according to logging credentials.All common details (properties) of group are stored in main table (SystemUser) and specialized details are stored in relavant tables.(Teacher/Student). My solution already has classes called, SystemUser, Teacher & Student.
Problem:My system should support new group addition. (eg-: Auditor)This should support new properties to be added to SystemUser/Teacher/Student or any other new group added by the Customer at runtime.
am looking for the best approach to using NHibernate and MVC.net. I have gone through http://www.codeproject.com/KB/architecture/NHibernateArchitecture.aspxSomeone has pointed to the use of Castle project Active record. My aim is to eliminate the need for any nhibernate dependencies within my domain. I want a quick and easy domain model that is persistable with NHibernate.
I'm using Entity data model to reflect my database and I generate Domain service from my Entity data model.I understand that if I have changes in my database, I can just choose "Update Model from Database", but there is no "Update Domain service from Model" option available.How should maintain my domain service? I'm not going to delete away it and regenerate it whenever there are some changes, right?
What is the best way to design the Domain objects which can have multi-lingual fields. An example can be a Product class with Description being multi-lingual.
I have found few links but could not decide which one is the best way.
http://fabiomaulo.blogspot.com/2009/06/localized-property-with-nhibernate.html (This stores all localised language data in one field. Can be a problem if we query from Sql) http://ayende.com/Blog/archive/2006/12/26/LocalizingNHibernateContextualParameters.aspx (This one has a warning at the beginning that it is a hack and no longer supported) http://www.webdevbros.net/2009/06/24/create-a-multi-languaged-domain-model-with-nhibernate-and-c/ (This does not describe how multilingual data will be structured in the database.)
Anyone having experience with using NHibernate with multi-lingual data.
I want to know what is the advantages of using aggregates in c# for design patterns.
suppose i have tree tables
Member(M_Id,M_Info)
Bid(B_Id,B_Info,M_Id,Item_Id)
Item(Item_Id,Item_Info)
"One member can place more than one bid on more than one item."
so there is one to many bidirectional association between Bid and Member table.
And one to many association between bid and item table Now According to defination of aggregates in this case Item table is the root of aggregate item and item has aggregation with bid table.
and bid table holds unidirectional reference to member table and hence only bid table has access over member table.
But ultimately this will also map in database same as without using aggregate then what is use of aggregates?
My MVC ASP.NET web application is split up like this:
Web Application Layer Views
[Code]....
Now, I have a view in the database called "EquipmentWithCableDetails", which contains additional useful information with the equipment details - so I create a class to model that view (in order to be able to read from it). In the code I have that works with that new class, I want to display the EquipmentDescription - but that property only exists on the Equipment class.
public class ComponentType { public int ComponentTypeID { get; set; } public string Component_Type { get; set; } public string ComponentDesc { get; set; } } [code]...
We're upgrading our system core asp to asp.net mvc, but there is a problem with refreshing the Database Model, our system is a UDP listener Windows Service, and Instering data to our database, our web system reading the database and process it then render. Here is the problem, When i enter some data using DatabaseModel, there is no problem, but when Windows service insert records to database, i can see the record at the web, is there a way to refresh entity data model/
I am trying to implement a plugable architecture within my MVC application. The modules are based on the following post [URL].
When I drop the DLL into the bin folder manually, everything works perfectly.
What I'm trying to do is, upload the DLL via a webform and copy the stream to the bin folder. But when I try view the page I get the following error - The module was expected to contain an assembly manifest.