タグ付けされた質問 「linq-to-sql」

LINQ to SQLは、リレーショナルデータをMicrosoft SQL Serverに格納されたオブジェクトとして管理するためのランタイムインフラストラクチャを提供する.NET Frameworkバージョン3.5のコンポーネントです。

9
Linq:条件付きでwhere句に条件を追加する
このようなクエリがあります (from u in DataContext.Users where u.Division == strUserDiv && u.Age > 18 && u.Height > strHeightinFeet select new DTO_UserMaster { Prop1 = u.Name, }).ToList(); これらの条件がこのクエリを実行するメソッドに提供されたかどうかに基づいて、年齢、身長などのさまざまな条件を追加したいと思います。すべての条件にはユーザー部門が含まれます。年齢が指定されている場合、それをクエリに追加します。同様に、高さが指定されている場合は、それも追加したいと思います。 SQLクエリを使用してこれを行う場合は、文字列ビルダーを使用して、それらをメインのstrSQLクエリに追加します。しかし、ここLinqでは、同じクエリを3回記述し、各IFブロックに追加の条件があるIF条件の使用のみを考えることができます。これを行うより良い方法はありますか?

5
LinqからSQLへの「[カラム](値のリスト)の場所」の実行方法
IDのリストを取得する関数があり、IDに関連付けられている説明と一致するリストを返す必要があります。例えば: public class CodeData { string CodeId {get; set;} string Description {get; set;} } public List<CodeData> GetCodeDescriptionList(List<string> codeIDs) //Given the list of institution codes, return a list of CodeData //having the given CodeIds } したがって、これを自分で作成する場合は、次のようにします(in句にはcodeIds引数のすべての値が含まれます)。 Select CodeId, Description FROM CodeTable WHERE CodeId IN ('1a','2b','3') Linq to Sqlでは、 "IN"句に相当するものを見つけることができないようです。私がこれまでに見つけた最高のもの(これは機能しません)は次のとおりです。 var foo …
101 linq  linq-to-sql 

13
ReferentialConstraintの依存プロパティは、ストアによって生成された列にマップされます
データベースに書き込むときにこのエラーが発生します。 ReferentialConstraintの依存プロパティは、ストアによって生成された列にマップされます。列:「PaymentId」。 public bool PayForItem(int terminalId, double paymentAmount, eNums.MasterCategoryEnum mastercategoryEnum, int CategoryId, int CategoryItemId) { using (var dbEntities = new DatabaseAccess.Schema.EntityModel()) { int pinnumber = 0; long pinid = 1; //getPinId(terminalId,ref pinnumber) ; var payment = new DatabaseAccess.Schema.Payment(); payment.CategoryId = CategoryId; payment.ItemCategoryId = CategoryItemId; payment.PaymentAmount = (decimal)paymentAmount; payment.TerminalId = terminalId; …

15
SQL Server Compact Editionデータベース上のLINQ to SQLで「行が見つからないか変更されていません」という例外を解決するにはどうすればよいですか?
(SQL Server Compact Editionに対して)LINQ to SQL接続でいくつかのプロパティを更新した後、DataContextにSubmitChangesを実行すると、「行が見つからないか、変更されていません」というメッセージが表示されます。ChangeConflictException。 var ctx = new Data.MobileServerDataDataContext(Common.DatabasePath); var deviceSessionRecord = ctx.Sessions.First(sess => sess.SessionRecId == args.DeviceSessionId); deviceSessionRecord.IsActive = false; deviceSessionRecord.Disconnected = DateTime.Now; ctx.SubmitChanges(); クエリは次のSQLを生成します。 UPDATE [Sessions] SET [Is_Active] = @p0, [Disconnected] = @p1 WHERE 0 = 1 -- @p0: Input Boolean (Size = 0; Prec = 0; …
96 .net  linq  linq-to-sql 

16
LINQ to SQLはデッドオアアライブですか?
LINQ to SQLと友達になったとき、まるでMSが敷物を引っ張っているように見えます。 http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx 私の少しの研究から、EFは単純な作業にとってはやり過ぎです。しかし、この発表の後、LINQ to SQLを使い続けることに意味があるのでしょうか。 LINQ to SQLの将来を超えて、これは一般的に悪いシグナルを送信するだけではありませんか?MSが壁にビットを投げる速度を考えると、新しいビットのいずれかを早期に使用することは合理的ですか?(そして、それは親切です、LINQ to SQLの初期にはほとんどありません!)。 私のLINQ to SQL作業では、SubSonicに向かっていると思います! 更新:いくつかの新しい意見: http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx http://codebetter.com/blogs/david.hayden/archive/2008/10/31/linq-to-sql-is-dead-read-between-the-lines.aspx


13
条件付きLinqクエリ
ログビューアに取り組んでいます。使用には、ユーザー、重大度などでフィルターするオプションがあります。SQLの日にはクエリ文字列に追加しますが、Linqでそれを実行したいと考えています。条件付きでwhere句を追加するにはどうすればよいですか?


4
SQL Serverプロファイラーの「監査ログアウト」とは何ですか?
私は(C#/ Linqを使用して)データインポートを実行しており、当然ながらクエリを可能な限り最適化しようとしています。このために、SQLログイン名(データインポートプロセスに一意に関連付けることができる名前)でトレースをフィルター処理して、SQL Server Profilerを使用してDBでトレースを実行しています。 奇妙なことに、私のSQLステートメントのほとんどは本当に高速です:)-1msのマークを超えるクエリはほとんどありません。しかし、すべてのクエリの間には、EventClassが「Audit Login」または「Audit Logout」であるいくつかの行があり、「Audit Logout」の期間は最大1分です。 これは、インポートでトランザクションを使用しているという事実と関係がありますか?もしそうなら、私がそれらをきれいにすることができるように大きなヒットクエリを見つける方法はありますか?


2
ASP MVC:IController Dispose()はいつ呼び出されますか?
大きなMVCアプリの1つで、大きなリファクタリング/速度の調整を行っています。数か月前から本番環境にデプロイされており、接続プールでの接続を待機するタイムアウトが発生し始めていました。接続が適切に破棄されないまで問題を追跡しました。 それを踏まえて、私はそれ以来、ベースコントローラーにこの変更を加えました。 public class MyBaseController : Controller { private ConfigurationManager configManager; // Manages the data context. public MyBaseController() { configManager = new ConfigurationManager(); } protected override void Dispose(bool disposing) { if (disposing) { if (this.configManager != null) { this.configManager.Dispose(); this.configManager = null; } } base.Dispose(disposing); } } 今、私は2つの質問があります: 競合状態を導入していますか?以来configManager管理しDataContextている公開されるIQueryable<>ビューのパラメータを、私はそれを確認する必要がありDispose()ビューが終了すると、レンダリング前にコントローラーで呼び出されることはありません。 MVCフレームワークDispose()は、ビューがレンダリングされる前または後にコントローラーを呼び出しますか?または、MVCフレームワークはそれをGarbageCollectorに任せていますか?




14
エラー-SqlDateTimeオーバーフロー。1/1/1753 12:00:00 AMから12/31/999911:59:59PMの間にある必要があります
私は自分が書いたこのコードを使用してきましたが、この最も不明確な方法で機能しています。DateTimeの2つの列を含む行をデータベースに挿入したいと思います。 myrow.ApprovalDate = DateTime.Now myrow.ProposedDate = DateTime.Now それでも、データベースを更新すると、次のエラーが発生します。 SqlDateTimeオーバーフロー。1/1/1753 12:00:00 AMから12/31/999911:59:59PMの間にある必要があります。 挿入された値をデータベースからコピーして、更新されるオブジェクトにハードコーディングしてみました。 // I copied this value from the DB myrow.ApprovalDate = Convert.ToDateTime("2008-12-24 00:00:00.000"); それでも同じエラーですが、奇妙な部分は、上記のトリックがDBへの最初の挿入では機能したが、それ以降は失敗したことです。何が起こっているのかアイデアはありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.