Well I disagree, I want to set an architecture that is transparent so the person who will maintain the system don't need to think about these things.
On Nov 18, 4:24 pm, Jason Meckley <[email protected]> wrote: > the interface is used to apply the filter to the mappings > programmatically. However this is not required. you could wire this up > in the mapping to any custom property you want. this is more > laborious. personally I find the "cost" of the interface minimal > compared to the simplistic architecture. convention over > configuration. > > On Nov 18, 9:12 am, Niclas Pehrsson <[email protected]> wrote:> Well I like > the idea, but I do not really want an interface depenency > > on my domain objects I want it to be transparent. > > > On 17 Nov, 23:17, Jason Meckley <[email protected]> wrote: > > > > if you use 1 database with tenancy (tables, or views) you can use NH > > > filters on all queries. here is an > > > example.http://nhforge.org/wikis/howtonh/contextual-data-using-nhibernate-fil... > > > > if you go with 1 db per customer then you need to build the connection > > > strings and/or session factories dynamically. i think there is an > > > article about that either on the nhforge wiki or this user group. i > > > can't find a link to it though. If I'm not mistaken you can implement > > > your own connection string builder/factory/object and have NH use > > > that. then you can have 1 session factory to manage all your > > > databases. > > > > another option is to use your IoC of choice to build/utilize the > > > correct session factory on the fly the details of that would depend on > > > the IoC. > > > > On Nov 17, 4:06 pm, Niclas Pehrsson <[email protected]> wrote: > > > > > I have some questions and thoughts about how to use NHibernate > > > > efficient in a multi tenancy environment. > > > > If we look at our business rules we have thousands of customers that > > > > will run our system. We are hosting it all > > > > Our system is an economy system and each customer has its own data. > > > > But in some cases there are other companies that handles several of > > > > our customer data and we want them to be able to login and have access > > > > to all these customer data. > > > > I have seen some solutions on multi tenancy solutions. What I can see > > > > there are three. > > > > Multiple databases (one per customer) > > > > One database with views that has a tenancy id which will make the > > > > database transparent and in the application make the database seem > > > > like there are only one customer. > > > > One database with all data, Solve what the customer shall see or not > > > > se with Ids in every criteria or linq query > > > > What is the best choice for me? > > > > If I use multiple databases which are my favorite right now, we will > > > > have thousands of databases in our SQL environment; can it be hard to > > > > manage? In some cases we will have one user that can manage several > > > > companies, I’m not sure they need to manage them at once, so it maybe > > > > can be solved in an easy way. How shall we solve the sessionfactory > > > > problem? The mapping and all settings will be the same for all > > > > customers but the connection string will differ per customer so, can I > > > > make an sessionfactory where I can make sessionFactory.OpenSession > > > > (connectionstring) kind of thing? Or are there some problems with a > > > > solution like that? The sessionfactory will in this case live in an > > > > wcf service and an web application. > > > > Views, are there any tips I need to know about? Any problems with > > > > NHibernate working with views? Same problem here with the > > > > sessionfactory, how can I change the connection string per session? > > > > I don’t even want to think about the third solution -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=.
