Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3798330
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T13:33:17+00:00 2026-05-19T13:33:17+00:00

My app is a client-server setup, where the client asks the servers for objects

  • 0

My app is a client-server setup, where the client asks the servers for objects in a given region. It will send the server x and y coordinates, and a radius. The server then has to query an SQL Server database for objects in the specified region. In the database, the objects are stored by their x and y coordinates.

First I tried a contains method in the Region object passed to the server over WCF. Well, of course that didn’t work because it couldn’t convert the method to T-SQL. But I had seen simple lambda expressions being used in linq queries, so I tried this:

        Func<UniverseStationaryObject, RegionLocation, bool> contains =
        (universeObject, location) => Math.Sqrt(
            Math.Pow(universeObject.locationX - location.x, 2) +
            Math.Pow(universeObject.locationY - location.y, 2)
            ) <= location.radius;

        var objects = from o in dataContext.UniverseStationaryObjects
                      where contains.Invoke(o, Location)
                      select o;

Unfortunately, this didn’t work either — I have read that some functions are allowed in Linq to SQL queries, but I guess math functions are not among them? Do I need a stored function for this? What would the stored function look like (I’ve never written one in T-SQL)? Can I pass C# objects to the functions and avoid extracting every value to pass to the db server? I mean, when I add the stored functions to the linq-to-sql classes designer, can I make it accept an object and extract the values at that point?

Note that it’s not an option to retrieve every object and filter them in C#.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T13:33:17+00:00Added an answer on May 19, 2026 at 1:33 pm

    You’d need to make contains() a compiled query using System.Data.Linq.CompiledQuery.Compile(). It requires a slight modification to your query for it to work. I believe something like this would work:

    Func<MyDataContext, UniverseStationaryObject, RegionLocation, bool> contains =
        CompiledQuery.Compile(
            (MyDataContext dc, UniverseStationaryObject universeObject, RegionLocation location) =>
                Math.Sqrt(
                    Math.Pow(universeObject.locationX - location.x, 2) +
                    Math.Pow(universeObject.locationY - location.y, 2)
                ) <= location.radius);
    
    var objects = from o in dataContext.UniverseStationaryObjects
                  where contains(dataContext, o, Location)
                  select o;
    

    See also: Creating reusable chunks of LINQ to SQL

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm developing a client/server app that will communicate via rest. Some custom request data
I am working on WCF client-server app. where the client has to be constantly
I`m writing client-server app for windows using WinSock and I have class for server.
I'm writing a client-server app using BSD sockets. It needs to run in the
I am writing a client/server app in C++ and need to realize simple protocol
I want to develop one client server App using Multicasting using UDP in c++
I am maintaining an app for a client that is used in two locations.
I'm going to maintain an existing .NET 1.1 app for my client. VS.NET 2008
Our rails app is designed as a single code base linking to multiple client
I'm working on a web app which is heavy on the client side, which

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.