これをどのように語っているかわかりませんが、ここになります。私はlinqを使ってサーバーのサービス層を書いています。私はすでにデータベースをセットアップしており、Entityレイヤーを使用してクラスを継承しています(これはWCFレイヤーに置き換えられ、このプロジェクトのソフトウェア要件であるJSONを正しく使用します)。私は現在、ユーザーがカレンダーに参加することが正当であることを証明したい "JoinCalendar"(アプリケーションの主要部分)というメソッドを作成しています。クエリの複数の要求があります
ここでは、この方法の目的は、ユーザが参加しようとすると、ユーザーemailaddressの(ユニークなことをされたカレンダーのfamilyID(ユーザのグループのアイデンティティフィールドを)取るあるstartes
public bool JoinCalendar(int famID, string email)
{
using (FamilySchedulerEntities db = new FamilySchedulerEntities())
{
var checkUser = (from u in db.Users
where u.familyID.Equals(famID) && !u.emailAddress.Equals(email, StringComparison.InvariantCultureIgnoreCase)
select u).FirstOrDefault();
if(checkuser != null){ return false}
else
{
//stuff
return true;
}
のコードがあります各ユーザのID)。私は、そのクエリから2つの異なるチェックを実行したいと思います。
は、まず:私はfamilyIDが有効なものであることを確認したい(すなわちfamilyIDがデータベースに保存されている実際の値であることを確認してください。) 第二:あるユーザーに一致しないユーザーの電子メールアドレスを確認してくださいどのファミリーにも登録されています 第3に: "!" LINQクエリでのオペレータは、それは悪い習慣/エチケット
種類について、 サイモン・ジョンソン
PSをORIS。 Linqを使って1週間も経たないうちに、データベースアプリケーションを作成していたので、この初心者をフレンドリーにしてください。理想的には、私はこのサーバのクライアントがセルラー(すなわち、無線LANでない)接続を使用して接続されている可能性があり、データ伝送を絶対最小限に保つ必要があるため、スーパーエレガントのソリューションが必要です。最善の解決策はハードある場合
DBに対してlinqを直接記述するときは、 'Equals'メソッドは使用できません。また、DBの照合は、比較がculture/caseの有無にかかわらず実行されるかどうかを定義します。クエリを実行するときに指定する必要はありません – ntziolis
Im私はあなたの作成の区別を本当に理解できません。馬鹿だ。私は言ったように、linqとデータベースアプリケーションにはまったく新しいと私は正確な専門用語をまだ確信していません – SimonJohnson