What exactly is dynamic data? I saw the term in the ASP.NET Overview on msdn. Is it something that we use all the time thats not really mentioned when working with data?
I've built a few web applications already and never came across this term. Is it something that should be used or maybe considered?
UPDATE: I guess I'm not really sure what it's for. I've never had a problem doing LINQ to SQL or Entity Framework before. What makes using Dynamic Data worth it? Is it simply a pattern?
Dynamic Data was a new project type in VS 2008. It used scaffolding & templates to help code faster.
Two big reasons I saw for its usage:
Stand up an admin back-end really
quickly where doing much on the way
of modifying the front-end may not be
needed.
Quickly stand up CRUD apps that are
simple.
Now, it can be modified very heavily. Check out these links for some work others have done on this.
http://aspnet.codeplex.com/Wiki/View.aspx?title=Dynamic%20Data
Matt Berseth - http://mattberseth.com/blog/dynamic_data/
Stephen Naughton - http://csharpbits.notaclue.net/
http://weblogs.asp.net/craigshoemaker/archive/tags/Dynamic+Data/default.aspx
http://blogs.msdn.com/rickandy/archive/2009/01/08/dynamic-data-faq.aspx
Fast Forward to Today:
As MVC has matured they have introduced many of the ideas that were in Dynamic Data. Scaffolding, templates, etc... to help one quickly get up and running BUT also have the ability to modify more easily and is designed for many other desirable features.
Where does Dynamic Data fit today, especially with Light Switch thrown into the mix? Great question and my only answer at this point is it still fits for the two items originally mentioned but with the advent of MVC having these abilities WITH added capabilities and Light Switch it's going to see minimal usage.
The page you linked to has a link to the ASP.NET Dynamic Data Overview. Is there something on that page you would like explained?
Dynamic Data is a way to have your CRUD data logic written for you automatically using the Database Schema.
Take a look at this walkthrough to give you a quick jist.
It isn't something I use, but I can see where it has merit in a really rapid development scenario. I don't know if it will stand the test of time or prove useful or maintainable.
Related
I am working on big scale enterprise application using .net stack, at the moment I am using layered approach. The main problem I am facing at my data layer because I am using static connection context and have following issues.
Can't use parallel calls because of static behavior.
Can't use sync methods.
Caching may have another issue
So now we have decided to change our Data layer there are couple of things in our consideration like repository and unit of work but we are not sure what kind of problems we face in it as we have enterprise scale application having 600 plus tables.
In order to write such big story I would like to take help from community which approach I should follow.
Please provide me any suitable links or thoughts.
This is madness to use static database connection firstly :) Your designer's idea was very bad about on static aproach. I think NTiear architecture was a good way to start on this. May in the future your another problem will be scalibty of your db system. Probably you use vertical scaling aproach. If it is correct you have to manage apply distribited aproach on db system like replication and sharding. Also nosql solution may hava another option.
I searched this topic the previous year and I wrote a document, you can see on medium
And another issue on monolotihc vs. microservice. You can find many article on medium or etc. Here is one of them.
As additionally , I published a sample project on github about on
N-Tier-Architecture-with-Generic-Repository--Dependency-Injection-And-Ninject
you can may examine
Good luck ;)
I want to learn ASP.net 3.5 effectively, but I have no fluent knowledge of any other languages.
Now the scenario is that span of time is very less and in short time I have to be upgraded with ASP.net skills.
So I am interested in fast and effective way to learn ASP.net 3.5.
I have to start from scratch.
Please..please........I want solution as soon as possible.........
And please mention good books and online material.
Thanks.Waiting for reply.
First thing is to drop statements like: "I want solution as soon as possible". To learn something new takes time and you'll need to cool down before getting results.
I strongly recommend you to build something for yourself. This way you can deal with new requirements and schedule pressure. During this process, you'll need to see how other people do same thing, and then to download some sample codes.
EDIT: I think you should start doing that every application does: trying to access a database and changing data. This path will lead you to know more about Entity Data Model and LINQ. So you can go to code your front-end. You can take a look at NerdDinner website for MVC samples.
There are plenty of good tutorials at asp.net/learn.
If you're interested in ASP.NET MVC (Microsoft's latest web UI framework) then there's a good set of tutorials at asp.net/learn/mvc/#MVC_Overview
It might be worth mentioning that you have a choice of programming languages to use; VB.NET or C#. If you are new to programming then you might want to spend some time getting comfortable with one of these initially, as well as familiarising yourself with the underlying .NET Framework.
If you can provide more details about what you need to achieve, as well as your programming background then people will be able to provide advice that is more specific to your situation.
It takes about ten years, as does learning anything worthwhile.
The best way to learn a new set of development skills is total immersion in a project. Build your own website and follow along with a book or two, make some mistakes and fix them, and in general endure all the rough-and-tumble that development involves. Along the way, make sure you're investing good time in writing solid unit tests, so that you understand what they're for and why you should be writing them.
If you've never programmed before, this is going to be rather challenging as a first project. ASP.NET MVC requires understanding, if not fluency, of many different pieces of web development. But dedication, persistence, and curiosity will be enough to win out here.
I think reading a good book while implementing some basic website will be your best approach.
My personal favorite, with good inside examples and good practices is Pro ASP.NET MVC
Get a book like ASP.NET 2.0 Website Programming from Wrox Press and work your way through it from beginning to end. Immerse yourself this this project, follow all the steps and understand every step along the way.
Microsoft offers 2 distinct Web development systems - "Classic" ASP.NET WebForms, and MVC. In my opinion MVC is more "pure" to the web philosophy but is trickier to learn, the controls aren't as rich and varied, and there are fewer resources to help you. WebForms have been around much longer, there are thousands of books and helpful sites, and there are probably more job opportunities.
Good luck. If you're smart and work really hard, you should have no trouble.
Saying you want to learn ASP.NET from scratch is like saying you want to learn to build a house. You can get a book that shows you how to saw lumber or nail boards together -- but there's a lot more to building a house than any book can effectively communicate.
Learning a specific control or a narrow skill can be done in a few days, but really learning ASP.NET from beginning to end is a multi-year project -- particularly if you have to learn the language too. Learning C# well could take a year by itself.
Experience is the best teacher. If you can get a mentor of some kind involved, that's even better (just like how carpenters need to apprentice for some time before they're ready to build a house by themselves).
In all seriousness, start with at least 3 years at university doing a computer science/engineering course of some description.
There is no fast and "effective" way of learning to program and being any good at it. There's a lot, lot more to software development than just the code as anyone who has been doing it for any length of time (and cares about their craft) will attest to.
Can you define what exactly do you mean by "learn effectively"? Do you mean that you want to be able to write code like Jon Skeet at the end? Or do you mean that you should be able to handle the job of a junior developer? There is a lot of room between those, to say nothing of you not stating how you learn best: Do you absorb information best from reading, seeing, doing, or some other format of data? How good are your Google skills? How well do you know of MSDN and the massive amount of information contained within?
Scott Gutherie's blog may not be a bad idea for another resource to consider. Another point to consider is however fast you want to learn 3.5, there will soon be a 4.0 that may be out sometime this year as part of Visual Studio 2010.
Need to design ASP.net pages which are mostly datadriven pages (read/write to sql tables)
through a interface.
This is mostly for maintence of job queues (to job on hold / delete from queue => which in turn is updating or deleting view.
What would be best Pattern to do with such maintence pages.
Thanks
If you're looking for a quick fix, you could try Dynamic Data.
While I do agree that a good solution for administrivia style sites such a the one you are describing is easily handled by Dynamic Data as #Robert Harvey has suggested this is not quite a direct answer to your question.
I think you really can't go wrong with using the ASP.NET MVC framework with some DDD concepts tossed in. This of course may be over architecting a small problem however let me suggest why I like it so much. With ASP.NET MVC you don't have any heavy obstacles to worry about ...just nice pure HTML. Form there following a good domain driven design you can quickly get some layers running. Plug in LINQ to SQL and you are off and running. With the MVC framework you can also easily make just about everything test driven which will help to keep the site maintainable over time.
I have written a whole series on DotNetSlackers regarding architectural concerns in ASP.NET MVC from a simple app all the way back to a complex distributed SOA style application. I have one more article (covering the SOA portion) to go to complete the series but there are many other articles in this mini-series that you could get started with.
Take a look at the "Three Tiers to MVC" section on this TOC of the bigger series
If this really is an admin site that you are creating though...do take a look at the Dynamic Data option. Very powerful!
I'm planning to set up an online store for a friend, unfortunately his product line introduces some demands most out-of-the-box solutions don't fit. I'm hoping somebody here has had some experiences with an open source package that they can recommend.
The specific issue is that the products are going to number in the hundreds of thousands. Since the type of products have a lot of clearly defined specifics, searching and sorting can be (and needs to be) very granular and efficient. For this reason, the primary requirement is that I replace the product and search-related parts of the app, but only those parts. I'm hoping that there's an ecommerce solution with the product segment abstracted so that I can change the database tables, product display code, search code, and create the obvious code to interact with the database.
I'd prefer something that's built on ASP.Net MVC since it'll play nicely with some extensions I am considering for the future but I'd consider WebForms. I'd also like it to be something that functions on GoDaddy's Hosting, though I'm not optimistic, I just got the account before I discovered how terrible of an ASP.Net web host they are. And finally I need something that's reasonably mature as I don't have time up front to deal with a system that hasn't been tested, and the majority of issues worked through already.
I'd appreciate any ideas.
Edit: I've done a bit of searching already and I've found several (at least 8) MVC projects, but I haven't had time to examine them properly for the needs listed above. I also can't be sure which ones have matured from real world application...So I'm mostly looking for advice either based on a familiarity with using the app or at least reading enough about it that you would feel it's good to recommend.
Thanks Everybody!
Check out http://code.google.com/p/sutekishop/
Check out http://thebeerhouse.codeplex.com/
As someone who has spent around 10 years programming web applications with Adobe's ColdFusion, I have decided to add ASP.NET as a string to my bow.
For someone who has spent so long with CF and the underlying Java, ASP.NET seems a little alien to me. How should I go about getting up to speed with ASP.NET so that I can be truly dangerous with it? Do I need to know C# at any great amount of detail?
I want to be in a position where I can build basic web apps fairly quickly so I can learn more doing the tricky stuff.
I'm only maybe six months down the same path, but here are some thoughts from my experience so far:
The C# language shouldn't give you much problem if you have very much experience with Java at all (or even CFScript). As a reference, though, when I was starting, I found csharp-station a good primer for language basics. It won't help you much as far as the ASP.NET side goes; but it is good for syntax. More you'll be familiarizing yourself with the .NET libraries. The IDE actually can be an enormous help here.
Here are the three biggest differences I found making the transition:
ASP.NET Server Controls - In ColdFusion, you really have pretty
direct control over the HTML; you
work very closely with the page.
This isn't so much the case in
ASP.NET. The server controls are
meant to relieve you of a lot of the
tedium, but at a cost of maybe some
direct control. As a CF programmer,
I'm very particular about what gets
actually output to the browser; and
at first ASP.NET frustrated me
because it spits out a lot of extra
code. Still, the controls are
really powerful, and it pays to
familiarize yourself with them.
Form and validation controls,
especially, save you from a lot of
the tedium in CF of handling post
back and validation. W3Schools
actually has a decent list of web
server controls.
The page model - ColdFusion is pretty agnostic in terms of page
flow. ASP.NET is very much geared
towards using post backs, and is
very event driven. If you're not
using a framework with CF (e.g.
Model Glue), this may be foreign to
you. .NET takes care of handling a
lot of the post back behavior for
you. Also, not to say that
ColdFusion can't be object and
function driven by good use of
CFC's, but ASP.NET really tries to
push you down the OO path compared
to CF in my experience.
Database access - Using ASP.NET really made me appreciate how
powerful cfquery really is. The
csharp-station site also has a good
tutorial on working with the native
.NET db tools. I haven't worked on
enough projects yet to start looking
around for DB access extensions; I'm
pretty sure Jeff recommended
something that they used for
building this site, so you might
check that out. Otherwise, I really
suggest you familiarize yourself
with the DataSet object. It's
somewhat similar to a query object
in CF, and lets you run query of
queries, etc... Looping over
queries in CF is very common, but it
doesn't happen nearly as much in
ASP.NET because of data binding.
Microsoft has a video called ASP.NET for ColdFusion developers you may be interested in.
Edit, here's another
ADO.NET is a core concept, and I would really recommend taking a course in it. Having a qualified instructor explain exactly what the differences are between a DataSet, DataReader (and so forth -- there are a lot of different data access object types) is invaluable. Not to mention you'll better understand the appropriate time and place to use each; and you can ask questions and get immediate answers in a classroom setting.
I took an ADO.NET class (one night a week, about 8 weeks) at my local university for around $400. Even if my company hadn't paid for it, I would have been happy to, and I can highly recommend anyone trying to learn .NET do the same.