DataSource Controls :: OrderBy Parameter Type In EntityDataSource?
Feb 26, 2010
I'm playing with an EntityDataSource and specifying a simple order by clause containing one column name, for instance "it.[DNS_NAME]".
When I run the following:
[Code]....
I get an EntitySqlException saying that @sort's type is incorrect. It is expecting a Transient.rowtype that matches one of the columns. What is going on here? Order by parameters don't really have a meaningful type other than a string in my opinion. When I try specifying DbType.String instead of TypeCode.String, the same error is thrown.
The exception:
'@sort' is not a member of type 'Transient.rowtype[(SOFTWARE_DSPL_ID,Edm.Int32(Nullable=True,DefaultValue=)),(COMPUTER_NAME,Edm.String(Nullable=True,DefaultValue=,MaxLength=64,Unicode=True,FixedLength=False)),(DNS_NAME,Edm.String(Nullable=True,DefaultValue=,MaxLength=64,Unicode=True,FixedLength=False)),(DIRECTORATE_NAME,Edm.String(Nullable=True,DefaultValue=,MaxLength=24,Unicode=True,FixedLength=False)),(OS_BROAD_CAT_NAM,Edm.String(Nullable=True,DefaultValue=,MaxLength=25,Unicode=True,FixedLength=False)),(OS,Edm.String(Nullable=True,DefaultValue=,MaxLength=64,Unicode=True,FixedLength=False)),(EQP_TYPE,Edm.String(Nullable=True,DefaultValue=,MaxLength=64,Unicode=True,FixedLength=False)),(EQP_PROP_NO,Edm.String(Nullable=True,DefaultValue=,MaxLength=10,Unicode=True,FixedLength=False))]'
in the currently loaded schemas.
How can I dynamically provide the column name to order by?
I'm trying to compare a parameter of type String with a database field of type ntext. Below is my vb code. carDescription is a field in the database table that is of type ntext. The code didn't work because you can't use the equality operator.
Dim carDescriptionLookupCmdString As String = "SELECT carMake FROM car WHERE carDescription = @description" Dim carDescriptionLookupCmd As New SqlCommand(carDescriptionLookupCmdString, dbConnection) carDescriptionLookupCmd.Parameters.AddWithValue("@description", description) Dim reader As SqlDataReader = carDescriptionLookupCmd.ExecuteReader()
Is there a way to use the OrderBy command in Linq with a DateTime field using the Date portion only (without the Time Stamp portion) that is nullable such as in the following query?
var query1 = from myTable in MyTable where myTable.EnteredDate != null group myTable by myTable.EnteredDate into myOutput[code]....
Since myTable.EnteredDate is a DateTime field that can contain nulls, it does not support the .Date conversion call such as myTable.EnteredDate.Date
Is there a way to convert the myTable.EnteredDate field into a date only string in the group by portion?
I'm trying to follow the demo from this link to add a jqGrid to an MVC app.
I have a table named Companies that I'm trying to display in a grid. A Company simply contains an ID and a Name.
I'm running into an error in my controller function:
public JsonResult DynamicGridData(string sortIndex, string sortOrder, int page, int rows) { int pageIndex = Convert.ToInt32(page) - 1; int pageSize = rows; var companies = companiesRepository.Companies.OrderBy(sortIndex + " " + sortOrder).Skip(pageIndex * pageSize).Take(pageSize); //Error here ... }
I'm getting an error on the line that is calling OrderBy():
The type arguments for method 'System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumerable, System.Func)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
I really have no idea what the error means, and I haven't been able to find an explanation. I'm not sure what is causing this error on a simple OrderBy function.
I have an EntityDataSource and I need set WHERE to a Local Variable Type: GUID.
My problem is I am not able to send my local variable Guid to EntityDataSource for a WHERE OPERATION.
I also tried to to use a ControlParameter<asp:ControlParameter Name="UserId" /> and have a Label with Text property on my Guid converted in String. But does not work.
In this case I use a datasource control for a datalist and the parameter list is being built ba the system. The DBType is created for the smalldatetime feild
I'v been using SqlDataSource and ObjectDataSource for a while.I would like to know about LinqDataSource and EntityDataSource. Therefore I have 2 questions to ask.1) Why do we need to use those twos? 2) In which cirmustances (Requirements) developers are using LinqDataSource and EntityDataSource?
I have this code, and I need the "it.MembershipOption.Id" value in the "where" clause to be the <%# Eval("Id") %> from ListViewEventsOuter. I tried to add the Eval in the "where" clause but it throws an error.
What would be the best way to extend the EntityDataSource control? I have a site that implements Entity Framework and I current create my model container and add it to the HTTPCurrent context. When I create EntityDataSource controls on the page I have to go into the code behind and set the OnContextCreating to add MY context to the EntityDataSource instead of the one that EntityDataSource creates. This is because in my model I have extended the Partial Classes to support Validation and custom Save/Delete methods.I would ideally like to create a custom control that I can drop onto a page that has its context already set to the context that I created.
I have a GridView that's currently bound to an ObjectDataSource. I would like to see if it's possible to instead bind it to an EntityDataSource. However, I need to be able to apply custom filters to it.
One of the filters corresponds to a bit / boolean property in the database / EntityDataModel. It has 3 possible selections:
[Code]....
[code]....
How can I accomplish the same thing in an eSQL Where clause? There is no COALESCE function, is there an equivalent?
I have a formview with an entityDataSource. I need to include columns from related fields. I have seen many demos, with AdventureWorksDB, that imply that you can do this by using INCLUDE in the entitydatasource declaration. I have tried made many attempts and it just does not seem to work as demonstrated. I have attached the errors below and the EDS. I have also attached a JPEG of the model I am working in. Three errors demonstrating 3 different attempts to include a related table:
DataBinding: 'TmModel.tbICObjectBase' does not contain a property with the name 'Group' the code declaration for error 1: <asp:Label ID="Label1" runat="server" Text='<%# Bind("Group") %>' /> DataBinding: 'TmModel.tbICObjectBase' does not contain a property with the name 'tbICTagBase'. the code declaration for error 2: <asp:Label ID="Label1" runat="server" Text='<%# Bind("tbICTagBase.Group") %>' /> DataBinding: 'System.Data.Objects.DataClasses.EntityCollection`1[[TmModel.tbICTagBase, TmModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' does not contain a property with the name 'Group'. the code declaration for error 3: <asp:Label ID="tbICTagBasesLabel" runat="server" Text='<%# Bind("tbICTagBases.Group") %>' /> EntityDataSource <asp:EntityDataSource ID="entDSObjectBase" runat="server" AutoGenerateWhereClause="True" ConnectionString="name=IntouchDBContainer" Include="tbICTagBases" DefaultContainerName="IntouchDBContainer" EnableFlattening="False" EntitySetName="tbICObjectBases" EnableDelete="True" EnableInsert="True" EnableUpdate="True" EntityTypeFilter="tbICObjectBase"> <WhereParameters> <asp:SessionParameter SessionField="Tag" Name="RecID" Type="Int64" /> </WhereParameters> </asp:EntityDataSource>
A :{ id, selfId, name,} where selfId is a foreign key refered to Table A itself.
I generated the Entity automatically like this:
A :{ string id; A self; string name,} when i update the entity in gridview Edit/Update CommandField
i got the exception:
Object reference not set to an instance of an object. Description: An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code. Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. Source Error:
[Code]....
Stack Trace:
[Code]....
I guess maybe this is caused by:
A is to be updated, and when the EntityDataSource construct the new A, the reference "self" is invalid at that moment. I do not want to modify my DB structure and do not want to lose the self reference, The event EntityDataSource_Updating is not triggered while the exception hit. so i can not access my entity at any time. Maybe the worst idea is deal the whole Update Procedure myself. However, is there any better workaround?
I seem to be having issues with posting forms with DropDownLists. I've looked all over the net and tried various solutions, but none seem to work for me.
I'm getting the following error: The parameter conversion from type 'System.String' to type 'Models.Organization' failed because no type converter can convert between these types.
Here's my ViewModel:
[Code]....
Here's my controller:
[Code]....
The objects are generated by ADO.NET Entity Framework. Organizations is its own object, but also a property of Profile (each user belongs to one organization). Now I understand what the error message is saying, just not sure how else I'm supposed to do this.
I have this error "The given value of type String from the data source cannot be converted to type datetime of the specified target column." when I used sqlbulkcopy to do the transaction
I get the error - Conversion from type 'DBNull' to type 'Integer' is not valid. - on the line.....
Dim newid As Integer = e.Command.Parameters("@latestRowId").Value.........in vb code behind.
I have the identical code for another page with the exception of the field names and it works fine. The only thing I did differently, as far as I know, is I copied the asp and code behind from the page that works into this page and manually changed the field and table names. I don't know what the problem is. Does anyone see any problems?
I have an Interface that has its concrete class defined via a factory. Because of this I found no way to use the Interface tpye directly in my LINQ quesry so I had to use the concrete class types to creat a generic list. The LINQ query works but after calling.ToList() on the LINQ query result I get a List(of MyConcreteClass), but I need a List(of IMyConcreteClass). I have tried everything I can find: .Cast, Ctype, implicit casting, etc. but I always get back one of the (2) messages (depending on if I attempt to cast)message:
"Unable to cast object of type 'System.Collections.Generic.List`1[MyConcreteClass]' to type 'System.Collections.Generic.IEnumerable`1[IMyConcreteClass]'." ...or "Unable to cast object of type '<CastIterator>d__aa`1[IMyConcreteClass]' to type 'System.Collections.Generic.List`1[MyConcreteClass]'."
I am making a website to store invoices so i can mail them to clients. So i got a table for clients, invoices and one with invoice products/services. When an invoice has no products/services added to them and it returns null i get the error "the null value cannot be assigned to a member with type System.Decimal which is a non-nullable value type."
I just started with linq. Before i always used mysql. Mostly i just had to call data from 1 table so forgive me if my linq query isn't really correct.
Dim invoices = From i In db.invoices _ Group Join p In db.products On i.id Equals p.invoiceId Into invoiceProducts = Group _ Select New With {i.client.naam, i.titel, (From iP In invoiceProducts Select iP.prijs).Sum}
i show the client's name, the title of the invoice and the total amount the clients will need to pay for products and services.
As you can see, the connectionstring parameter is defined to a specific connection string name and I need to be able to set such a parameter to a different value, for example, to a session variable content.
I am storing a custom "Organisation" object as a session variable. One of the properties of the Organisation object is "OrganisationID" (integer). I have a DataSource that requires a parameter value to run, and I want to use a SessionParameter to populate this. In a previous version, I stored the OrganisationID directly as a session variable. In that case, I could easily access it like this:
[Code]....
However, how do I now access the OrganisationID property of an "Organisation" type session variable (called "Organisation")? I have tried this, which does not seem to work: <asp:SessionParameter Name="OrganisationID" SessionField="Organisation.OrganisationID" Type="Int32" />
I want to do paging the API Membership without using the datacontrols, but I get this error "Unable to cast object of type '<TakeIterator>d__3a`1[System.Char]' to type 'System.Collections.IList'." when I do this,