ホームページ データベース mysql チュートリアル Entity Framework SqlFunctions 教你如何在EF调用sqlserver方法

Entity Framework SqlFunctions 教你如何在EF调用sqlserver方法

Jun 07, 2016 pm 03:34 PM
framework

今天算是研究了一天的SqlFunctions,请教了几个群的牛人,居然发现大伙对这个都比较陌生, 有的甚至直指EF中是不能调用sqlserver里的方法的。 因为之前搞过linq to sql 里面的SqlMethod ,所以觉得EF里面必须是可以的。 首先需要简短介绍一下EF6和EF5,当你N

今天算是研究了一天的SqlFunctions,请教了几个群的牛人,居然发现大伙对这个都比较陌生,

有的甚至直指EF中是不能调用sqlserver里的方法的。

因为之前搞过linq to sql 里面的SqlMethod ,所以觉得EF里面必须是可以的。

首先需要简短介绍一下EF6和EF5,当你NuGet一个EF5的包的时候,只有EntityFramework,而EF6确有EntityFramework和EntityFramework.SqlServer,

这2者是有很大区别的。

 

在EF5环境下,我们如何使用SqlFunctions 呢?

首先添加EF环境,在引用中添加Syste.Data.Entity,再添加命名空间

<span>using</span> System.Data.Objects.SqlClient;
ログイン後にコピー

然后写一个控制器测试

<span> 1</span> <span>public</span><span> ActionResult Index()
</span><span> 2</span> <span>        {
</span><span> 3</span>             <span>int</span> Count = <span>0</span><span>;
</span><span> 4</span>             <span>using</span> (Models.TestProjectDBEntities db = <span>new</span><span> Models.TestProjectDBEntities())
</span><span> 5</span> <span>            {
</span><span> 6</span>                 <span>var</span> Query = <span>from</span> c <span>in</span> db.AdminInfoes <span>where</span> SqlFunctions.Square(<span>1.00</span>)==c.Orders <span>select</span><span> c;
</span><span> 7</span>                 Count =<span> Query.ToList().Count();
</span><span> 8</span> <span>            }
</span><span> 9</span>             ViewBag.Count =<span> Count;
</span><span>10</span>             <span>return</span><span> View();
</span><span>11</span>         }
ログイン後にコピー

运行正常。

 

EF6环境下,

我们的引用中是存在EntityFramework和EntityFramework.SqlServer的,

然后我们添加命名空间

<span>using</span> System.Data.Entity.SqlServer;
ログイン後にコピー

注意一下,跟EF5下的命名空间是不一样的,这个地方我也是出现了误区,当我的添加是using System.Data.Objects.SqlClient; 的时候一直报错,

这个错误确实比较奇特,我网上找了很多原因一直没有找到,最后一个偶然的机会,才得到这个结果。

然后我们再运行上面的测试代码,应该也是运行通过的。

 

SqlFunctions里提供了很多的方法,这个都是比较简单的,就不做详细介绍了。<br><br>本群提供ASP.NET MVC,EF,LINQ,WEB API技术支持,不在乎人多,在乎人精。<br>ASP.NET MVC群 171560784  <br>诚邀各路高手、初学者加入。
ログイン後にコピー

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Microsoft NET Framework のインストールの問題エラー コード 0x800c0006 の修正 Microsoft NET Framework のインストールの問題エラー コード 0x800c0006 の修正 May 05, 2023 pm 04:01 PM

開発者とエンド ユーザーが Windows 上で最新バージョンのアプリケーションを実行するには、.NET Framework 4 が必要です。しかし、.NET Framework 4 のダウンロードとインストール中に、多くのユーザーから、インストーラーが途中で停止し、「ダウンロードがエラー コード 0x800c0006 で失敗したため、.NET Framework 4 はインストールされていません」というエラー メッセージが表示されるという苦情が寄せられました。デバイスに .NETFramework4 をインストールしているときにもこの問題が発生する場合は、正しい場所にいます。

Windows 11/10 で SetupDiag を使用して Windows アップグレードの問題を特定する方法 Windows 11/10 で SetupDiag を使用して Windows アップグレードの問題を特定する方法 Apr 17, 2023 am 10:07 AM

Windows 11 または Windows 10 PC でアップグレードまたはアップデートの問題が発生すると、通常、失敗の背後にある実際の理由を示すエラー コードが表示されます。ただし、エラー コードが表示されずにアップグレードまたはアップデートが失敗すると、混乱が生じることがあります。便利なエラー コードを使用すると、問題の場所が正確にわかるので、修正を試みることができます。ただし、エラー コードが表示されないため、問題を特定して解決することが困難になります。エラーの背後にある理由を見つけるだけでも多くの時間がかかります。この場合、Microsoft が提供する SetupDiag という専用ツールを使用すると、エラーの背後にある本当の理由を簡単に特定できます。

SCNotification が動作を停止しました [問題を解決する 5 つのステップ] SCNotification が動作を停止しました [問題を解決する 5 つのステップ] May 17, 2023 pm 09:35 PM

Windows ユーザーは、コンピュータを起動するたびに「SCNotification は動作を停止しました」というエラーに遭遇する可能性があります。 SCNotification.exe は Microsoft システム通知ファイルであり、アクセス許可エラーやネットワーク障害が原因で PC を起動するたびにクラッシュします。このエラーは、問題のあるイベント名でも知られています。したがって、これは SCNotification が動作を停止したということではなく、バグ clr20r3 として認識される可能性があります。この記事では、SCNotification が動作を停止した問題を修正して再び悩まされないようにするために必要なすべての手順を説明します。 SCNotification.eとは何ですか

Microsoft .NET Framework 4.5.2、4.6、および 4.6.1 は 2022 年 4 月にサポートを終了します Microsoft .NET Framework 4.5.2、4.6、および 4.6.1 は 2022 年 4 月にサポートを終了します Apr 17, 2023 pm 02:25 PM

Microsoft.NET バージョン 4.5.2、4.6、または 4.6.1 をインストールしている Microsoft Windows ユーザーが、将来の製品更新を通じて Microsoft にフレームワークをサポートさせることを希望する場合は、新しいバージョンの Microsoft Framework をインストールする必要があります。 Microsoft によると、3 つのフレームワークはすべて 2022 年 4 月 26 日にサポートを終了します。サポート期限が終了すると、製品は「セキュリティ修正またはテクニカル サポート」を受けられなくなります。ほとんどのホーム デバイスは、Windows アップデートを通じて最新の状態に保たれます。これらのデバイスには、.NET Framework 4.8 などの新しいバージョンのフレームワークがすでにインストールされています。自動的に更新されないデバイスは、

Windows 11 の KB5012643 により .NET Framework 3.5 アプリが中断される Windows 11 の KB5012643 により .NET Framework 3.5 アプリが中断される May 09, 2023 pm 01:07 PM

Windows 11 に KB5012643 をインストールしたユーザーに影響を与える新しいセーフ モードのバグについてお話ししてから 1 週間が経過しました。このやっかいな問題は、Microsoft が発売日に投稿した既知の問題のリストには載っていなかったので、誰もが驚きました。さて、事態がこれ以上悪化するはずはないと思ったそのとき、Microsoft は、この累積的な更新プログラムをインストールしたユーザーに別の爆弾を投下します。 Windows 11 Build 22000.652 はさらなる問題を引き起こす そこで同社は、Windows 11 ユーザーに対し、一部の .NET Framework 3.5 アプリケーションの起動と使用に問題が発生する可能性があると警告しています。おなじみですね?でも驚かないでください

Cooler Master と Framework が、ラップトップのマザーボードと互換性のある革新的なミニケース キットを発売 Cooler Master と Framework が、ラップトップのマザーボードと互換性のある革新的なミニケース キットを発売 Dec 15, 2023 pm 05:35 PM

12月9日のニュースによると、Cooler Masterは最近、台北コンピューティングショーでのデモンストレーションイベントで、ノートブックモジュラーソリューションプロバイダーのFrameworkと協力して、ミニシャーシキットをデモしました。このキットのユニークな点は、マザーボードと互換性があり、マザーボードを取り付けることができることです。フレームワークノートから。現在、この製品は市場で販売が開始されており、価格は39ドル、現在の為替レートで約279元に相当します。このシャーシキットの型番は「frameWORKMAINBOARDCASE」となります。デザイン面では、わずか297x133x15mmという究極のコンパクトさと実用性を実現しています。そのオリジナルのデザインは、フレームワーク ノートブックにシームレスに接続できるようにすることです。

Windows 11 で 0xc0000135 エラーを修正する方法 (KB5013943 更新プログラムの問題を解決する) Windows 11 で 0xc0000135 エラーを修正する方法 (KB5013943 更新プログラムの問題を解決する) May 11, 2023 am 08:28 AM

0xc0000135 エラーとは何ですか?なぜ発生するのですか? Microsoft の公式ドキュメントによると、0xc0000135 エラー コードは .NetFramework の問題に関連しています。 .NetFramework3.5 を必要とするアプリケーションの多くは、最新の Windows 11 アップデートでは動作しないようです。これがエラー コード 0xc0000135 の原因であり、PC で .NetFramework3.5 を有効にすることでこの問題を解決できます。最新のアプリケーションのほとんどは、バックグラウンドで期待どおりに実行するために .NetFramework.dll ファイルに依存しています。しかし

Microsoftはユーザーに警告: Windows 11 KB5012643によりアプリがクラッシュする場合は、アンインストールしてください Microsoftはユーザーに警告: Windows 11 KB5012643によりアプリがクラッシュする場合は、アンインストールしてください Apr 15, 2023 pm 08:01 PM

Microsoft は Windows 11 のセーフ モードの問題を修正したばかりですが、最新の累積的な更新プログラムでオペレーティング システムにさらなる問題が発生しているようです。 KB5012643 は、多数の修正を含むオプションの更新プログラムで、.NET 3.5 フレームワークの特定のコンポーネントを使用するアプリケーションをクラッシュさせます。 Microsoft のデスクトップ オペレーティング システムを長期間使用している場合は、.NET Framework に気づいたかもしれません。 .NET Framework は、Windows 更新プログラムまたは特定のアプリケーションのインストール中に表示される場合があります。多くのアプリケーションは、適切に機能するために .NET Framework に依存しています。

See all articles