Konfigurovatelné předpony tabulek s .NET nebo / M?

hlasů
4

Ve webové aplikaci, jako je wiki nebo fór nebo blogů software, to je často užitečné pro ukládání dat v relační databázi. Vzhledem k tomu, mnoho hostingové společnosti nabízejí jednotnou databázi s jejich hostování plány (s dalšími databázemi stálo za poplatek), je to velmi užitečné pro uživatele, pokud vaše databázové objekty (tabulky, pohledy, omezení a uložené procedury) mají společný prefix. To je typické pro aplikace vědomi nedostatku databází mít pevně předpony tabulek. Chci víc, nicméně. Konkrétně bych chtěl mít předpony tabulek, aby uživatelé mohli určit, tedy v souboru web.config (s vhodným výchozím nastavení, samozřejmě).

Vzhledem k tomu, Nenávidím kódování CRUD operace ručně, dávám přednost práci prostřednictvím příslušného OR / M a použili (a těšil) LINQ to SQL, podzvukový a ADO.NET. Mám některé mlátit do nového projektu, nicméně, pokud jde o uvedení předponu tabulky v souboru web.config uživatele. Existují nějaké Net-umístěný nebo / M produkty, které lze zpracovat tento scénář elegantně?

Nejlepší, co jsem byl schopen přijít s dosud používá LINQ to SQL s externím souboru mapování, že budu muset aktualizovat nějak vychází z as-ještě hypotetické nastavení web.config.

Každý, kdo má lepší řešení? Snažil jsem se, aby se to stalo v Entity Framework, ale to změnil na nepořádek rychle. (Vzhledem k mé neznalosti EF? Možná.) Jak se k podzvukový? Má možnost uplatnit předponu tabulky kromě toho v době generování kódu?

Položena 14/08/2008 v 23:32
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
2

Já jsem teď zkoumal, co je zapotřebí, aby to jak v Entity Framework a LINQ to SQL a dokumentovány kroky potřebné v každém . Je to mnohem déle, než odpovědí zde bývají tak budu spokojit s odkazem na odpověď, aniž by kopírovala jej sem. Je to poměrně zapojeny pro každého, ale LINQ to SQL je pružnější řešení a také nejsnáze implment.

Odpovězeno 28/08/2008 v 15:49
zdroj uživatelem

hlasů
1

Spíše než použití předpony tabulek místo toho mají uživatele aplikace, která patří do schema(MS SQL 2005 nebo vyšší).

To znamená, že místo:

select * from dbo.clientAProduct
select * from dbo.clientBroduct

Ty máš:

select * from clientA.Product
select * from clientB.Product
Odpovězeno 15/08/2008 v 09:56
zdroj uživatelem

hlasů
1

LightSpeed umožňuje určit INamingStrategy , který umožňuje vyřešit názvy tabulek dynamicky za běhu.

Odpovězeno 15/08/2008 v 00:04
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more