I am making a web project now. And i meet some problems working with Entity Framework. My program needs to have dynamic model. I try to explain. So i have classes and database is created from them. At the beginning of work program checks in folder Modules for assemblies and looks for classses that needs to be created as tables in database(this classes have to become a part of ef model). And i need at runtime create database.If some new classes was added so add this tables to database, but not recreate it(as it is made by default). If i delete classes the tables are not deleted.
I developed MVC application. Then successfully import my local database which was stored in App_Data folder to the hosting provider (thanks ScottGu). But now I don't realize how can I painlessly change my Entity models which was using local database in order they use database which was imported.Here is some of the connection strings
This is a simplified example of what I need. Imagine a person table with several different club tables. Every person can belong to any number of clubs, but must belong to at least one club. The association would be a 1 to zero or one between the person table and each of the club tables.I've created the databases, then the entity model. The associations are all 1 to many, which isn't what I want.
Is there a way to modify the database so that the model is created correctly? I'm still building the project, making lots of changes, and I've had problems with updating the model, so I keep recreating it. Setting up the database correctly would be preferable.I'm trying to follow the quickstart here: [URL]but I'm using the SQL Management Studio designer, and I can't find how to fix the associations I add.
I've been reading about using or not using foreign keys in the model, but it's only confused me more. Can someone help me understand this? I'm starting to write code with what I have, and I'm running into problems. I'm about to start using joins, which means I'm trying to use a hammer instead of a saw because I don't know how to use my saw. I'd rather understand my tools and use them the right way!
Im just wondering how you go about creating dynamic properties on entities that generated from a database generated model.For example I have a UserInformation table. In that table it has basic information on the user (well derr) like user name, address details etc etc. I want to add a readonly property that concatenates the user's Name, Address details and Phone Number into one string that I can output to a view. Any ideas on how i would go about creating this dynamic property. This is just a simple example, i am wanting to do some more complex calculating and concatenating.
I have an application that uses multiple identical databases. When the user logs in they select the database that will be working with for that session. I am EF 4.0 for to access the database. What I can't figure out is how to dymaically pass the database name of the database from a session variable to the code in the EDMX file.
I am trying to get the FailedPasswordAttemptCount from the ASP.NET built in objects and I am not able to find one, is there any way I can get this value without creating a new storedProc?
I have a group of radiobuttons. The field they are 'bound' to is of datatype tinyint (sql server), byte .NET. It is set to NOT accept nulls in the database column (col1) and no default value has been set for the column, or indeed, anywhere else.
If the user doesn't select any of them, I would expect null to be that the model would attempt to insert into the database. I would therefore get a validation error that I can display to the user, prompting them to choose one of the options.
However, instead of null, the model inserts a 0 into the database. As this does not fail, no error is raised.
I am not setting the default value to 0 anywhere, not in the mvc app or the database
How can i make this work like i have 5 fields in my database table . 2) i created a model for validation with datannotation and created the compare password field as well with comparepassword attribute. (now my model has 6 fields including one external field compare password and 5 database fields)3) i created a view with that model.(User)4) now i created a controller as well but the problem arise here that when calling that actionmethod the compiler complains about the external field and tells it cannot find any extension method . how can i create the extension method or solve this error?
I ask this because i'm using Partial classing to extend my db model, and in doing so some snags i've run into using inheritance and also snags i've run into declaring my db model in another class as a property and just using it like that ie: Public Property DBModelClass as DBModelClassType - however, doign direct partial classing has worked out the best, with no snags... except for an issue i seem to be running into now.
that is, i create new properties with half-page code in the 'Get' part of the property decleration, these are like virtual/new properties that the db or db model isn't supposed to know anything about, the sort of stuff you generate/use but without saving it in your db, as i'm sure all of you have these. every time i submit my DBModel through an action, somehow, one of these properties 'Get' section is running (being called) even though i'venever asked for it to. of course, because it aint ready to run (it shouldn't) errors like null errors get returned (however, they wouldn't error if it were to run only when i asked for it to).
edit:
so this second part of my question, are all properties in a model generated from a db (linq to sql) ran or called by the model state automatically? without being asked to do so?
an aside:
(i do do a modelstate.isvalid - however, this running occurs before isvalid is called as it errors out before i even see validation information). that being, is the auto calling of all properties on a db model object even when not used normal? i tried using bind(false) and scaffold off on the problemed properties. and the first part of my question, just as a reminder, is if i should or should not be using partial classing as a substitute to inheritance when extending db model's?
I been working on a simple site today and when I found myself surprised about this. I got a object model that gone have like a lot of emails to it so I thought Ill do a string array to keep them, then I paused and tried to figure how do I save that to a database and how do I work with this? I always found myself working with collections of objects instead. So I'm kinda embaries to say this but how do I work with this? can I save a array to database
I'm currently facing a performance problem with creating POCO objects from my database. I'm using Entity Framework 4 as OR-Mapper. The whole application is a prototype for now. Let's assume I want to have some business objects like classes 'Printer' or 'Scanner'. Both classes inherit from a BaseClass called Product. The business classes exist.
I try to use a more generic database approach. I don't want to create tables for "Printer" nor "Scanner". I want to have 3 tables: One called Product, and the other Property and PropertyValue (which stores all assigned values to a specific Product). In my business layer I do create a specific object like this:
public Printer GetPrinter(int IDProduct) { Printer item = new Printer(); // get the product object with EF // get all PropertyValues // (with Reflection) foreach property in item.GetType().GetProperties // { // property.SetValue("specific value") // } return item; }
This is how the EF model looks like: Works fine so far. For now I'm doing performance tests for retrieving multiple sets. I've created a prototype and improved it several times to increase the performance. It is still far away from being usable. I takes 919ms to create 300 objects who only contain 3 properties. The reason for choosing such DB design is to have a generic database design. Adding new properties should only be done in the business model.
Am I just being too stupid to create a performant way of retrieving xx objects or is my approach totally wrong? As far as I understand OR-Mapper, they are basically doing the same?
Really new to C# & Web developing - but have used the DAL & BLL model from a number of the turorials. Have a situation that I not sure the best way to accomplish. I have an application dealing with courses, books, etc. utilizing an Access Database. All was going well in creating an on-line catalog using Formview and tables to display the db values stored in the Course Table (Course ID the key). User is able to use dropdown list to locate the course - dropdown list showed the Course Nbr & Name, but used the Course ID to get the detail. This issue appeared when they introduced a Prerequisite field in the Course Table. This contains the Course ID of the prerequisite course, but they want to display the Course Nbr and Name in the table field. So today it show 18 (Course ID) and they want B101 Intro to Biology. Hope I have provided enough information of what the code looks like below
Here is also the OBJECT DATA SOURCE <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetCourseByCourseID" TypeName="CoursesBLL"> <SelectParameters> <asp:ControlParameter ControlID="DDLCourse" Name="CourseID" PropertyName="SelectedValue" Type="String" /> </SelectParameters> </asp:ObjectDataSource>
When adding a stored procedure into the Entity Data Model I can select whether the procedure returns a scalar, a (new) complex type or one of the entity types I already defined.I mean assuming I have a view like this
CREATE VIEW FilteredFoos as SELECT Foo.* FROM Foo join ... WHERE ...(that is a view that implements some involved filtering, but returns all columns from one table) how do I add it to the project so that I can use the entity set, but get the Foo objects, not some new FilteredFoo objects.
var foos = myDB.FilteredFoos.Include("Bar").ToList(); foreach (Foo foo in foos) { ...
I'm working on a new project where I have the luxury of working from a Model to Database approach using Entity Framework 4.
The project I'm working on is taking an agile approach where different phases will be rolled out over time.
Will the Model First approach work in my case? I noticed when you "Generate Database from Model" it recreates the entire schema from scratch which will obviously wipe all the data that is in the db. I was hoping for a more "Update Database from Model" approach where the db would just be altered to reflect the changes rather than recreated
In Visual Web Developer-2010, I have been trying to connect to IBM DB2 Database after installing the DB2 9.7 client (both supports VS2010/.Net4) so that I can use "ADO.NET Entity Data Model", but while clicking "New Connection" I can only see the list of Data Sources and Data Provider only related to MS SQL server. This is totally blocking my work, I am not able to work further since I cannot even establish the connection to my db2 database using this new editor so that I can create the edmx files in the solution for non MSSQL databases. Kindly provide me the solution ASAP, since my further work is blocking due to this.
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 made a few changes to the DB in SQL server management studio then right clicked on the .edmx doc to get it to update. That seemed to work fine but when i compiled the app everything that referenced the EF seems to be broken.The Error list now contains the below error for all classes that used it.
The type or namespace name '' could not be found (are you missing a using directive or an assembly reference?)