|
|
Need to define the scope of the problem... which part you are looking for....
|
|
|
|
|
Hi all.
I am writing some paperwork about Object Relational Mapping / Data Access Layer development technnoligies and tools (like Microsoft ADO/DAO, LINQ to SQL, Entity Framework, (N)Hibernate, Doctrine, Apache iBatis and other SQL / CRUD generators and mappers). I would like to know other programmers' thoughts about the subject so my work is not based only on my own subjective opinion.
If someone here has experience with ORM / DAL tools (or have created own ORM / DAL) then I would be grateful to know about your findings. I can suggest some factors that you can take as a basis:
learning curve - how hard / easy it was to get into this technology, how long did it take; was the quality of the documentation appropriate?
introducing the technology into an existing project - how long did it take, was it hard, what problems did you encounter? Where there any problems - "deal breakers" that made you choose not to use some certain ORM ?DAL development tool?
starting a new project and choosing the ORM / DAL technology - how much the ORM ?DAL dictates the rules for an architecture of the new project? where there any compromises needed just to adapt your project architecture to the ORM / DAL technology?
porting some project to another data base / working environment - how did ORM / DAL tools help or create additional issues?
flexibility - if project specifications changed, how the ORM / DAL reacted? Was there any need to throw away existing ORM / DAL and choose another or create your own layer from scratch?
And considering all the above, what would be your ideal ORM / DAL tool, what features should it have and what should it avoid? Do you prefer high abstraction from SQL or maybe a tool that generates modifiable SQL / CRUD that you can tweak later and also the changes do not get lost when you use the tool to regenerate something?
And other useful ideas about this topic are welcome.
Thanks.
|
|
|
|
|
anybody?
|
|
|
|
|
LINQ 2 SQL, AWESOME for MS SQL small to medium size projects. Easy to use and implement.
Entity Framework - Pain in the arse, 100%.
Lightspeed - Commercial solution but VERY awesome. More high-powered than LINQ 2 SQL, with more flexibility (+ compatible w/ other DB engines).
NHibernate - Too much XML hand editing, makes it slow to use and to modify sometimes.
|
|
|
|
|
Hi,
We are developing a .NET C# application and we also generate help files to our application. At the moment we are using Microsoft Html help format, .chm files. But the .chm help files format has some disadvantages so we are investigating if we shall continue to generate help files in this format or not.
What is the best format for help files?
- .chm
- html
- ......
(I hope this is the right forum for this kind of question.)
Regards
Marcus
|
|
|
|
|
I was reading the Enterprise solution patterns using Microsoft.net. I have a question while reading on Three Layered application, so just think of sharing with any of you and confirm.
It is said that "Make sure you eliminate the dependencies between data access components and business layer components. Either eliminate dependencies between the business layer and the presentation layer or manage the dependencies here using the Observer pattern".
My question is how can the business layer be independent from data access layer? Why because, for anything to be processed in business layer, the data needs to come from data layer. For eg: If I need to calculare employee PF, I should get the employee details from db, which is in data access layer. So there will be a function in businesslayer, which calls the corresponding function in data access layer. Is this not dependent or am I thinking stupidly? Or what exactly means that business layer should be independent from data access layer?
Same as the case with business layer and presentation layer. There will be some business logic implemented with the business layer class. So inorer to perform that, we are calling that function on the happening of some events in presentation layer. I did not understand what exactly meant by this independent? Am I thinking wrong?
Success is the good fortune that comes from aspiration, desperation, perspiration and inspiration.
|
|
|
|
|
The simplest way to think of it is "I don't care how you do it... Just do it!"
You go to the grocery store, pick out a few things, and go to the register to pay for it. The cashier hits some buttons on the register, tells you how much it costs, takes your money, and gives you change.
Now, you don't know how to work the register (Or maybe you do, if you've had a job like that, but the point is that you don't have to)... You just know that somehow the cashier is adding everything up and figuring out how much you owe.
On the same note, the cashier doesn't know how the register works inside. He/she just knows how to push the buttons, scan the items, and get the right total. Maybe there's a system inside where it's notifying the stock room that product X needs to be resupplied. Maybe it's building up a database of how often each product is purchased... All the cashier knows is that they push the buttons and get the response they need.
"Layers" in software are much the same way... The point is that all each layer knows is how to get what it needs from the layer below it. The presentation layer has no idea where all those employee details are coming from... It just knows how to take that data and make it look pretty on the screen. The business layer doesn't know how the data is being stored, or what the tables and fields are called... It just knows how to say "Give me all the details for employee 12345."
So the short answer is that each layer is dependent on the other one doing its job, but not dependent on how that job is done. Like I said above, each layer looks to the one beneath it and says, "I don't care how you do it... Just do it!"
|
|
|
|
|
Assume there's a rule: nobody may have a salary higher then the CEO. Where to put this rule in the system?
When you try to answer this question you will see that each choice (put it in the presentation layer, bussiness layer, data layer) has it advantages and disadvantages. Now repeat the question for the rule 'every order must have at least one line'. Would you put it in the same layer as the previous rule? Why or why not?
I hope that you will see that there are categories of rules: some are better in the data layer, some better in the bussiness layer,... This is what MS is talking about...
Rozis
|
|
|
|
|
Apart from not knowing exactly how a lower layer does something, "removing dependency" could also be considered as "not knowing WHO is doing what I need to do", and that is acomplished using Interfaces.
So you go from not only not knowing how, but neither knowing which class is the one that implemented the interface and is executing whatever you need from the lower layer.
Why would you do something like this for a DAL? Two main reasons, first not to depend 100% on an implementation for a specific database engine (ie SQL Server), but to have an interface that could be implemented for different storage mechanisms; and second for testing purpose! Imagine you could automate your tests by implementing a piece of your DAL (interface) from a dummy class (either mock or stub) just to test your upper layers (probably business).
|
|
|
|
|
Guys, I felt this was very appropriate for us in here. We used to have less than flattering terms for this guy (i.e. squatter) but Joel Spolsky calls him the "Duct Tape Programmer".
http://www.joelonsoftware.com/items/2009/09/23.html[^]
Fear not my insanity, fear the mind it protects.
|
|
|
|
|
Discussed at some length here[^].
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
you have no friggin’ idea what this frigtard is talking about, but he just won’t go away
Well said by Joel. I've worked with these types of individuals in the past and can relate.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
I need to design a system which will process hundreds of source files (different format) and convert to one target files.
There should be two interfaces
1. Command line
2. web user interface
Command line interface is to run the transform job though batch and web user interface is to define the format of source file and mapping details of source file to target file i.e. one time job for each source file.
All the source files are fixed width or delimited files.
What is the correct approach?
Should I create one stage table for each source file to the stage data?
Should I create one stage table on runtime when user will define of layout (Most are fixed width mainframe files) of source file?
Should I create only one generic table, containing around 100 columns all varchar type?
I am looking for the best approach to design the system. Performance is very critical for this app. There are hundreds of files and we need to transform all the files daily within certain time.
Thanks in Advance
Akshay
Lucky akky
keep smiling
|
|
|
|
|
I've built many of these and not once have I used a command line interface. I use a service to do timed and repeated processing.
Generally I use a separate staging file/database for each source file/set. I find you can usually group the files into sets which have the same data structure. I also use stored procs to do the processing from the staging tables to the final data table, this may be frowned upon as it is less flexible than a full ETL tool but I find it suits my style.
I ended up with a winforms app that allows the user to configure a file for loading, defining the title and data rows, the delimiter or column widths and create a staging table with varchar fields so I can either BCP or bulk copy into the staging table. I then assign 1 of about 8 procedures to process to the final data table.
BCP in 2005/8 is more fragile than 2000 so I use bulk copy a lot, slower but more robust.
|
|
|
|
|
Create run time stage table depending upon the format of targetting file.....
|
|
|
|
|
Hello Good people,am not so sure if this should go here,i am student who is interested in developing a search engine that indexes pages from my country.I have been doing my research on Algorithm to use for sometime now and i have found HITS and PageRank as the best out there.I have choosing to go with PageRank since it is more stable than the HITS Algorithm(so i read).
I have found countless articles and university researches about PageRank but my problem is that i do not understand most of the mathematical symbols that form the algorithm in this papers.Currently,i cannot understand how the Google Matrix(the irreducible,stochastic matrix) was calculated with the algorithm,i do not seem to understand the Algorithm used.
I did my reading from the articles below:
PDF 1
PDF 2
Please i need you to help me go through it,i need a basic explanation(examples will be nice) with less mathematical symbols.
Thanks in advance.
|
|
|
|
|
the CP rules state you choose one appropriate forum and ask your question there; don't post the same stuff in multiple forums, it will not help you.
Luc Pattyn
Have a look at my entry for the lean-and-mean competition; please provide comments, feedback, discussion, and don’t forget to vote for it! Thank you.
Local announcement (Antwerp region): Lange Wapper? Neen!
|
|
|
|
|
Hi,
I am working on shared add-in in c# for Excel. Let us consider 3 components A,B,C. Where A is a Shim,B is Shared an add-in(used IDTExtensibility interface) which creates all tool bars, menu items for Excel and C is an automation add-in which contains UDFs.
I have static property in Automaion add-in(C) which set/gets Excel Application object. Whenever OnConnection(..) of shared add-in is called from the framework, I am setting the Excel application object using this property. So When I type some UDF in Excel, it uses this Excel application object for further work on Excel.
Recently I tried to remove the Shim and put the VSTO on it. When I use VSTo, it doesn't use shared add-in.Here also I set the Excel application object by using static property. Now I have I enabled this Auotomation add-in(add-in->Options->Automation Tab).But when I type some UDF in Excel cell, excel object is not available that is set from VSTO.How do I pass reference to Excel object to Automation add-in so that the same Excel Object is available in Automation add-in when we type some UDFs.
What I observed here is VSTO and Automation add-ins are working in different AppDomains.
Please help me.
Thanks.
|
|
|
|
|
I would post this in the C# section if I was you. It is not a design and architecture question so you are unlikely to get an answer here.
|
|
|
|
|
Hi,
I am working on a project where i need to get some data from data base and then perform some conditional operation on them , and then I need to display that information at UI, in a list box.
Please suggest a good design patten for this.
|
|
|
|
|
Choose, you must;
- MVP
- MVC
- MVVM
Check this link[^] if you're having trouble choosing the appropriate pattern
I are Troll
|
|
|
|
|
Thnx buddy
|
|
|
|
|
Hi ,
Let me make myself clear something first before proceeding with this post
I don't want to create any new architecture or framework or design pattern.
I want to make use of the existing tools and come up with a poc.
Now let me explain the problem statement
Requirement:- to build a windows app
Technologies and database used:-
Visual studio express edition 2008/
C#/
winforms or WPF/
sql server compact edition/if it is a multi use application SQL server Express edition will be used
The application will be very simple with not more than 20screens.
The underlying database will contain not more that 25tables.
Even if it is a multiuser application the number of user will not be more than 5 at a time.
The application will be used by a large number of people so bug fixing and introducing new features should be a breeze.
The app will be having basic CRUD screens and the Business logic involved will not be too complex.
To achieve this even if a Learning curve is involved it is acceptable.
The time to market of the resultant should be very less.
I want to develop the app for the above scenario. My goal is to develop a application with minimum number of lines of code. I Binged and found a lot of results like to use N-hibernate for ORMapping/or use Microsoft Enterprise library/Prism framework etc.,
I would like to know which framework or design pattern should I use to achieve the above functionality with least coding. I don't want to go with any third party tools. Pointers would be welcome.
I want to develop and give it to the open source community as a POC for fast and effective programming for small scale applications.
|
|
|
|
|
Try some of the articles here on Code Project on the subject of MVP/MVVM patterns. See also the answers to the question below.
jarajeshwaran wrote: My goal is to develop a application with minimum number of lines of code.
I'm not sure how you would achieve this unless you are a super-coder.
|
|
|
|