C# - Mvc LINQ Datetime - Accommodate NewsFillter In The Postsidebar Query In The Pstmt Object?
Nov 23, 2010
string NewsFillter = string.Empty;
List<string> PublishDatePostMeta = (from post in postrepository.GetAllPosts()
join pstmt in postrepository.GetAllPostMetas()
on post.int_PostId equals pstmt.int_PostId
where (post.int_PostTypeId == 4 && post.int_PostStatusId == 2 && post.int_OrganizationId == layoutrep.GetSidebarDetailById(SidebarDetailsId).int_OrganizationId) && pstmt.vcr_MetaKey=="Publish Date"
select pstmt.vcr_MetaValue).ToList();
int DatesCount = PublishDatePostMeta.Count();
foreach (string PublishDate in PublishDatePostMeta)
{
if (PublishDate != "")
{
NewsFillter += System.DateTime.Now + ">=" + Convert.ToDateTime(PublishDate);
}
}
var postsidebar = from post in postrepository.GetAllPosts()
join pstmt in postrepository.GetAllPostMetas()
on post.int_PostId equals pstmt.int_PostId
where (post.int_PostTypeId == 4 && post.int_PostStatusId == 2 && post.int_OrganizationId == layoutrep.GetSidebarDetailById(SidebarDetailsId).int_OrganizationId)
&& (pstmt.vcr_MetaKey.Contains(filter) && pstmt.vcr_MetaValue.Contains("true"))
select post;
The thing is that how NewsFillter would be accomdated in the postsidebar query in the pstmt object after true ( i would be putting it in contains,equals join or what). is there any way that a chunk (between &&s) return enumerable and i can get away with this. at this moment it is not allowing that
Note the "this.Date" part of the command. Now Date is an abject of type DateTime of C# environment, the DB doesnt store it(somewhere in SQLite forum, it was written that ADO.NET wrapper automatically converts DateTime type to ISO1806 format)
But instead of this.Date when I use sDate (shown in the first line) then it stores properly.
My probem actually doesnt end here. Even if I use "sDate", I have to retrieve it through a query. And that is creating the problem
Any query of this format
SELECT * FROM <Table_Name> WHERE DATES = "YYYY-MM-DD"
returns nothing, whereas replacing '=' with '>' or '<' returns right results.
So my point is:
How do I query for Date variables from SQLite Database.
And if there is a problem with the way I stored it (i.e non 1806 compliant), then how do I make it compliant
I have an application which uses globalization, hence the datetime objects are globalized based on current culture. These datetime objects are passed as sql parameters for a select query. The database stores the datetime in only one format (en-US style). Although the query is parameterized the final query generated does not contain converted values (format that Database is expecting).
The problem is that I have an extra property on the Trip object that needs to be assigned, preferably without iterating through the returned IQueryable.
Does anyone know how to set the value during the query? (i.e. select t, t.property = "value")
I'm working to move my simple asp.net website to a three layer architecture. Currently I have Linq queries like the one below in my code-behind files. Basically this code snippet retrieves a collection of customer data from the database and then binds it to a grid control.
I'm wondering if someone can guide me on how to rewrite this in order to move it to my newly-created data access layer. I'm thinking I will turn it into a class (e.g. GetUserBoxesByStatus()) that can be reused throughout the site.
var boxes = from p in sbm.Packages where p.UserID == CurrentUserId && p.StatusID > 1 && p.StatusID < 3 select new { p.PackageTag, p.PackageName, p.DateReceived, p.DateShipped }; [code]....
Some of the options that I've investigated but have not had success implementing are the following:
DataTable --- returning a DataTable seems like the best solution but it also appears to require a lot of potentially unecessarry code to define a table (isn't the data source already mapped in my Linq 2 Entities dbml?)
IEneuerable --- I think I could pass an IEnumerable list between the layers but after reading many tutorials about Linq I'm still a little lost DTO --- Conceptually I think I understand what a DTO is but I am not clear on how to begin implementing this approach POCO --- Again, the concept seems logical enough but I don't know how to put this into practice
how they would tackle this using one of the above or some other solution.
Is it possible to add attributes in a linq query along with the other object data?
Here's what I have
[Code]....
But I'd like to add a custom attribute to each RadComboBoxItemData object in the query instead of having to do a foreach loop after the linq query to add the attributes on..
I've build a linq query.But i want a random selection so its not always ID : 1,2,3,4,5,6 How can i randomize this var? I like to bind it to a repeater.//TagCloud:
Random rand = new Random(); var tc1 = from i in JumpTide.cms.menu.GetMenuItems(32) select new
I am writing a plugin to help with a current ERP system we have that I am not allowed to modify the data structure at all. The table I am dealing with has over 100 columns and I am wanting to set my linq object propertychanged event and submitchanges or do I really have list out each property and set it equal to the new one?Below is an example of what I am trying to do:
Like that I have large number of controls on my form. I have dought, if I assigned like this, db.usp_ATI_FetchPatientDetails(iPatientID).ElementAt(0).Last_Name.ToString(); to every control, then I have set of controls like,
My question is that, for each control the Stored Procedure called or not? If it is yes then it is time consuming and I need to use LINQ to DataSet or LINQ to Object rather than to call SP for each control. What is difference between LINQ to DataSet and LINQ to Object?
this code give that solution.but if any one of the field have null(example:r.urrQuickLinkRights contain the NULL) then only it will throw error like Object reference not set to an instance of an object.
I am facing a big problem with simple linq query.. I am using EF 4.0..
I am trying to take all the records from a table using a linq query:
var result = context.tablename.select(x=>x);
This results in less rows than the normal sql query which is select * from tablename;
This table has more than 5 tables as child objects (foreign key relations: one to one and one to many etc)..
This result variable after executing that linq statement returns records with all child object values without doing a include statement.. I don't know is it a default behavior of EF 4.0 . I tried this statement in linqpad also..but there is no use... But interesting thing is if I do a join on the same table with another one table is working same is sql inner join and count is same..but I don't know why is it acting differently with that table only.. Is it doing inner joins with all child tables before returning the all records of that parent table?
So the BlogPostTags table only contains 2 fields, BlogPostID and TagID.
When i run the query above i get 3 results back. Same blogpost 3 times but with 1 tag in each. It should return 1 post with 3 tags. The problem lies in the Tags query above.
I have two tables, subscriptions and topics. Each subscription is related to a specific TopicID (PK for topics table). The first query works fine and retrieves the topicID's of all videos that were uploaded today. The problem occurs when I try and then use the results of query1 as a where-in clause for query 2. I keep receiving object reference not set to instance of an object.
Query 1 IQueryable<int> topics = (from t in dataLayer.Videos where SqlMethods.DateDiffDay(t.DateCreated, DateTime.Today) == 0 select t.TopicID).Distinct(); [code]....
I have looked at some samples around the net and they all seem to be identical to mine.
i included the table and its data as it would be impossible without that to understand. this is the meta scenario as you may notice that this was the query i wrote before when i was not checking the publish date
var postsidebar = from post in postrepository.GetAllPosts() join pstmt in postrepository.GetAllPostMetas() on post.int_PostId equals pstmt.int_PostId where (post.int_PostTypeId == 4 && post.int_PostStatusId == 2 && post.int_OrganizationId == layoutrep.GetSidebarDetailById(SidebarDetailsId).int_OrganizationId) && (pstmt.vcr_MetaKey.Contains(filter) && pstmt.vcr_MetaValue.Contains("true")) select post
how would i goint incoperate check for publish date in the query above( i want to bring all the records whose publish date is greater then todays date)
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?
Does the DateTime object stores the CultureInfo with it, or you need to use the Formatter to format the DateTime according to current culture ?
I have a class property that retuns a DateTime. Within that property I am setting the DateTime object with current culture information using CultureInfo object. Below is the code for class property I am using:
So my question is when I will use the above property in my code, will it have the corrosponding culture information that I am setting in its get method, or I will have to use the same CONVERT code for formatting date time. The restriction here is that the Property should return only DateTime type.