I'm trying to check if a LINQ Entity exists in its table, but at design time I dont know what type that entity is. So I figure I'll just get the table, and try the Contains method on it. But I cant get the table in such a way that I can query it at design time.I've tried the GetTable method on the datacontext, but I dont know how to cast it to the appropriate type when using GetTable(Of). GetTable(Type) works, I just use Entity.GetType(), but then I don't know how to query the ITable thats returned.To try and cast the ITable to something useable, I created an interface(IWhatever) that could implement properties that are native to all of my entities I would encounter. [code]
I am trying to build a survey engine from an existing database design which is like this.
[Code]...
The line Order By Key.RecordOrder throws a null reference exception and I can understand why. Can someone advise on how to resolve this by just modifying this one query? I am fairly new to LINQ and the necessity to write this project
I've one VB.net 1.1 based windows app. I recently added the app.config files. In code it works fine. But, when I compile the application, VS 2003 doesn't generate the appname.exe.config.(I read on google) I manually copied the app.config file to the Release folder. But the code is giving error that the file doesn't exists.
I have some basic expirience in Visual Basic and programming Windows Forms programs. I know now that forms programs are no longer updated by Microsoft and that WPF is the way to go. No to mention the slicker interface you can create. I've also noticed that passing SQL strings to a database is no longer the standard either. It's either Entity Framwork or Linq.
So I am going for a fresh approach. I need to develop a program that will access a sql database and be accessed by about 10 concurrent users within the office. What's the best approach in general? Linq or Entity Framework? Also, could you recommend a book or two for someone who is new to WPF and Entity Framework? I do have some programming expirience, just none with WPF or the new ways of ADO.net 4.
I can't figure out that linq to entity query syntax. My problem is that if the value of the Calls table is null then noting comes up, I want to make something like a left join to get 'all' rows from the Calls table.I tried to group it but I can't figure out the correct way to write it.
Dim TicketQuery As ObjectQuery = From c In EnData.Customer _ Join t In EnData.Calls On t.CustomerID Equals c.CustomerID _ Join Status In EnData.Lists On t.Status Equals Status.ListValue _
I'm using Entity Framework in Visual Studio 2010 Beta 2 (.NET framework 4.0 Beta 2). I have created an entity framework .edmx model from my database and I have a handful of many-to-many relationships.
A trivial example of my database schema is
Roles (ID, Name, Active) Members (ID, DateOfBirth, DateCreated) RoleMembership(RoleID, MemberID)
[Code]....
For brevity I turned the list of all the columns from the Members table into *
As you can see it's just ignoring the "Role" query.
If I a many-to-many relationship between Users and Roles and I have an instance of a User entity and several Role Ids can I insert a relationship between the two types of entities without having any other Role data and without doing a select on the Roles first? Update:
I might not have been clear enough. I don't have an instance of a Role, only the role id. Is it possible to create the relationship between User and Role without filling a Role object from the database first?
I am trying to create a program in vbfor this problem: "A TV set is purchased with a loan of $563 to be paid off with 5 monthly payments of $116. The interest rate is 1 percent month. Display a table giving the balance on the loan at the end of each month". It must have 1 button and a list box that displays successive balances, contains loops to balances, loop code includes output to the list box, List box displays 2 columns (one for month and one for amount owed) and 5 months are displayed and the amount owed for each. The Amount Owed should go down each month from month 1 to month 5 where month 5 will equal to $0.00
Here is my code so far but somehow the 1 percent interest i cannot get to add on each month so I am not getting the write answer.
Code: Dim rate As Decimal Dim loan As Double Dim pay As Double
[CODE]...
I have attached a jpeg of what the end result should look like when code is being run.
When I try to query an entity that has a varbinary field in it I am getting error:"The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities."
Here is my query:
Dim query = From entity In db.Entity Where entity.Id= Id Select entity.VarBinaryField
[code]....
The error gets generated when I check that the query isNot nothing.
I am using LINQ to SQL queries to return data in my application. However I find it is now needful for me to return the column Names. Try as I might I have been completely unable to find out how to do this on the internet.
So if my LINQ entity table has the properties (Last_Name, First_name, Middle_Name) I need to return[code]...
I am wanting to create a Where statement within my Linq statement, but have hit a bit of a stumbling block.I would like to split a string value, and then search using each array item in the Where clause.In my normal Sql statement I would simply loop through the string array, and build up there Where clause then either pass this to a stored procedure, or just execute the sql string. But am not sure how to do this with Linq to Entity? ( From o In db.TableName Where o.Field LIKE Stringvalue Select o ).ToList()
I have a simple Entity Framework. For simplicity's sake I will transform the entity names to Northwind Like.I have a IEnumerable Of Customer and Item Objects
Public Function GetAllEmployee() As List(Of Employees) Return DB.Employees.Select(Function(q) New With {q.EmployeeID, q.LastName,q.FirstName}).ToList() End Function
I'm getting an error:
Value of type System.Collections.Generic.List(Of <anonymous type>) cannot be converted to System.Collections.Generic.List(Of NorthwindModel.Employees).
I'm taking a peek at both the Entity Framework and LINQ to SQL, and while I like the systems (and of course the LINQ integration) I'm a little skeptical on the data-binding aspect. I've taken query results and inspected them, and they don't appear to implement the standard .NET list-binding interfaces (IBindingList, and more importantly ITypedList), leading me to believe that binding them to a grid (or anything else) is going to use reflection to get/set my entity properties. This seems like a comparatively expensive operation, especially when all of the code is generated anyway and could implement the interfaces. Is reflection used to get/set the value of the properties?
Edit: I'm actually concentrating on whether or not ITypedList is implemented somewhere along the way, as that's what has the capability to provide an explicit mechanism for defining and interacting with properties without resorting to reflection. While I didn't have a LINQ to SQL project up,I did inspect a simple Entity Framework entity query result, and it did not appear to implement ITypedList.
Edit 2: After accepting Marc's answer, I thought it might be helpful for others if I posted some simple code I used to seamlessly implement his solution. I put the following in the static constructor for my class:
public static ContextName() { foreach(Type type in System.Reflection.Assembly.GetExecutingAssembly()[code]....
While this is for LINQ to SQL, I'm sure an equivalent version could be written for the Entity Framework. This will scan the assembly for any types with the Table attribute and add a custom provider for each of them.
I've seen many examples in LINQ but i'm not able to reproduce the same result in vb.net.
I have following code: Dim context As New MyModel.Entities()
Dim rnd As New System.Random()Dim gardens As List(Of Tuin) = (From t In context.Gardens Where _ t.Approved = True And _ Not t.Famous = True _ Order By rnd.Next() _ Select t).ToList()
VB .NET 4 WinForms application. I have a (DevExpress) grid bound to an IEnumerable(Of MyClass). Whenever a new row is added, the ID defaults to zero (0). On trying to SaveChanges, EntityFramework doesn't realise that being an identity field means it should ignore any contents on insert and just insert the other values. I can't specify null / Nothing because it just keeps the ID as zero. I can add and save instances of MyClass manually, but I'm trying to get it to work where the grid handles adding/initialising/etc new entries. As far as I can tell, the problem is not with the grid but with Entity Framework and the generated SQL and entity classes. {"Cannot insert explicit value for identity column in table 'MyClasses' when IDENTITY_INSERT is set to OFF."}
I am binding a Winforms Grid to an entity. (For reasons I won't go into here it must be bound to the entity, not the result a query) The code is as follows:
I have the following LINQ-to-Entities query:[code]This will give me all the resident assignments for the current year/term. Then I have this LINQ-to-Entities query:[code]This will give me all the rooms. I want to iterate through the assignments and based on what room is assigned update the occupancy in reset_occupancy. I'm not 100% sure how to accomplish this. Here is my pseudo code of what I want to accomplish:[code]
Given a string of categories, I need to split the string and insert each separate item as a new record using EF.The following does not work since string cannot be converted to Tag:
Dim s = "Books, Novels, Magazines" s.Split(", ").ToList.ForEach(Function(x) _rdsqlconn.Tags.Add(x))
How can i split the string and insert each as a new tag record?
in a new project I thought I would try to integrate the new Entity Model Framework, but am having some issues/problems and would like to know if there is a solution or workaround that will let me insert a record into a table that has an identity property.At first I thougth it might simply recofnize the storedprocs that I have for insert/update/delte actions, and was a bit discapointed when generating the model ignored all my stored procs. So I thought wll heck maybe it just generates a nice insert method for me. Lets see.So I referenced my model and found that for the table (entity) there was an insert action (method) that had been generated, however what i found is that it explicitly added the primarly key field - which was based on an identity property and will not accept an explicit insert value.So I guess 2 questions
1. How do we work with identity properties
2. How can we take advantage of the performance and securtiy advantages that stored procs offer with SQL server?
I'm new to EF. I have some code that successfully inserts a record in a table. However, it uses the autogenerated "addto." method which I understand is depreciated. I've seen references to using the "add" method but am having trouble.[code]What is the "correct" way to insert this record (vb please)?
Using advWorksContext As New AdventureWorksEntities ' Call the constructor that takes a command string and ObjectContext. Dim productQuery1 As New ObjectQuery(Of Product)("Product", advWorksContext)
[code]....
An ObjectQuery can be enumberated only once. (Subsequent attempts at enumeration throw an exception.) The enumberation takes place in the for each statement. The problem is that if the query is empty attempting a For Each will throw an exception. But if I check for a count:If productQuery1.Count > 0 Then . . .
That eats up my one chance at enumeration. I could nest the For Each in a try/catch block and throw away the empty query exceptions, but that's ugly.
I have a GridView that is tied to an EntityDataSource. Most columns are normal bound columns, but two are itemtemplates. When I attempt a delete on one of the rows I receive the following message:
"A property named 'Building1.building_name' was not found on the entity during an insert, update, or delete operation. Check to ensure that properties specified as binding expressions are available to the data source."
I'm not sure how it is possible that this isn't available, since it displays the element just fine when I'm just viewing - it just throws the error when I attempt deleting a row?
I have records from server that I want to copy, so I used datareader to select all, during selection the insert also process. [Code] What is the exact sql statement to insert only if record doesn't exist in my current table? I used some of this code, but a filter was defined: like x. What if I just want to insert records that doesn't exist in the table I want. [Code]
looking at the code below I have a form that is inserting data from text boxes and a datetimepicker into my database.If Date.text and Shift.text already exist in a row then UPDATE instead of INSERT a new row?
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database.mdb;" da.SelectCommand = New OleDbCommand("SELECT ID, idate, icomment, ishift FROM table") da.SelectCommand.Connection = conn