Servicestack.OrmLite SQLServerでのマージの使用中にエラーが発生しました

ロジャーオリベイラ

https://github.com/ServiceStack/ServiceStack.OrmLiteの最新バージョンを使用する

[Schema("dbo")]
[Alias("ShelvingCount")]
public class ShelvingCount: IHasId<int>    
{
    [Alias("ShelvingCountId")]
    [Index(Unique = true)]
    [AutoIncrement]
    public int Id { get; set;}

    [Required]
    [References(typeof(Account))]
    public int AccountId { get; set; }
    [Reference]
    public Account Account { get; set; }

    [Required]
    public DateTime Date { get; set; }

    [Required]
    public int Quantity { get; set; }

    [Required]
    public int? Status { get; set; }
}

EmployeesテーブルのforeighキーであるプロパティEmployeeIdを削除しましたそして、私は以下のコードの「マージコマンド」を削除するのを忘れました:

var result = await dbCon.SqlListAsync<ShelvingCount>("EXEC getAllShelvingCounts @accountId, @status, @fromDate, @toDate", new { accountId, status, fromDate, toDate });

// Load the references
var employees = dbCon.Select<Employee>();
result.Merge(employees);

return result;

その後、以下のエラーが発生しました。マージコマンドを削除する必要があることはわかっています。ただし、そのテーブルへの参照がない場合は、Mergeコマンドを無視することで修正できます。

{ResponseStatus:{ErrorCode:Exception,Message:Could not find Child Reference for 'Employee' on Parent 'ShelvingCount',StackTrace:"[AllShelvingCounts: 24/06/2015 4:15:01 AM]:
[REQUEST: {AccountId:0,Status:-1,FromDate:2015-06-22,ToDate:2015-06-24}]
System.Exception: Could not find Child Reference for 'Employee' on Parent 'ShelvingCount'
   at ServiceStack.OrmLite.OrmLiteUtils.Merge[Parent,Child](List`1 parents, List`1 children)
   at Next.Management.Repository.ShelvingCountRepository.<GetAllShelvingCounts>d__0.MoveNext() in c:\dev\Next\Logistics\Management\src\Management.Repository\Repository\ShelvingCountRepository.cs:line 26

修正する必要がある関連する問題はありますか?

例外が開発者が役に立たないマージコマンドを削除するのに役立つ可能性があることを考慮に入れると、サービススタック開発者に警告することは興味深いかもしれません。

神話

これは意図したとおりに機能しています。エラーメッセージは、マージできる静的な関係が見つからなかったことを示しています。これにより、関連する結果セットをマージするという、Mergeコマンドの目的が無効になります。静的に定義された関係が存在しない場合、APIの使用が意図したとおりに機能していないため、これは明らかに開発者が知っておくべきエラーです。

これは、静的に型指定された言語で存在しない/スペルミスのプロパティを設定するのと同じです。つまり、開発者のエラーをキャッチするためにコンパイラのフィードバックがあります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ServiceStack / OrmLiteを使用したSQLServerでのNodatimeInstantの永続化

分類Dev

ServiceStack ormLite chaning OrderBy

分類Dev

ServiceStack OrmLite "Like" Linq

分類Dev

ServiceStack.OrmLite継承マッピング

分類Dev

ServiceStackアセンブリの問題-ServiceStack.OrmLite.SqlServer

分類Dev

ServiceStack.OrmLite:ServiceStack.Text.AssemblyUtils.ToTypeString(Type type)のNullReferenceException

分類Dev

.NetCoreのServiceStack.OrmLiteでSqlGeographyを使用します

分類Dev

ServiceStack Ormlite transaction between services

分類Dev

ServiceStack ORMLite:テーブルエイリアスを使用した複数の列GroupBy

分類Dev

ServiceStack OrmLite CustomSelectが機能していませんか?

分類Dev

IBMDB2のServiceStack.OrmLiteサポート

分類Dev

テーブルの自動作成ServiceStack.OrmLite

分類Dev

ServiceStackのOrmliteでの日付と日時の処理

分類Dev

In句のServiceStack Ormlite配列のデシリアライズ

分類Dev

ServiceStack.OrmLiteでテーブルのエイリアス名ランタイムを変更します

分類Dev

ServiceStack.OrmLite.PostgreSQLで最新バージョンのNpgsqlを使用する

分類Dev

ServiceStack.OrmLite:型なしAPIを使用してTimeSpanを読み戻すと、InvalidCastExceptionが発生します

分類Dev

ORMLite / ServiceStackソフト削除

分類Dev

ServiceStack Ormlite Reference Attribute For Same Type

分類Dev

Adding ServiceStack OrmLite attributes in code instead of a property

分類Dev

How to do a GroupBy statement with ServiceStack OrmLite

分類Dev

ServiceStack.OrmLiteテーブル名でテーブルを作成します

分類Dev

ServiceStack.OrmLite:匿名タイプのSqlExpressionでエイリアスを使用

分類Dev

ORMLite / Servicestack:複数のネストされたテーブルを結合する

分類Dev

ServiceStack.OrmLiteでインターセプターは可能ですか?

分類Dev

ServiceStack OrmLite: JSON フィルドのデシリアライズの問題

分類Dev

ServiceStackのOrmLiteで任意のSELECTを実行することは可能ですか?

分類Dev

ServiceStack.ORMLite:Sql.In選択を使用したカスタムPocoへのカスタムクエリ?

分類Dev

servicestack ormliteを使用して動的にテーブルを作成(および選択)します

Related 関連記事

  1. 1

    ServiceStack / OrmLiteを使用したSQLServerでのNodatimeInstantの永続化

  2. 2

    ServiceStack ormLite chaning OrderBy

  3. 3

    ServiceStack OrmLite "Like" Linq

  4. 4

    ServiceStack.OrmLite継承マッピング

  5. 5

    ServiceStackアセンブリの問題-ServiceStack.OrmLite.SqlServer

  6. 6

    ServiceStack.OrmLite:ServiceStack.Text.AssemblyUtils.ToTypeString(Type type)のNullReferenceException

  7. 7

    .NetCoreのServiceStack.OrmLiteでSqlGeographyを使用します

  8. 8

    ServiceStack Ormlite transaction between services

  9. 9

    ServiceStack ORMLite:テーブルエイリアスを使用した複数の列GroupBy

  10. 10

    ServiceStack OrmLite CustomSelectが機能していませんか?

  11. 11

    IBMDB2のServiceStack.OrmLiteサポート

  12. 12

    テーブルの自動作成ServiceStack.OrmLite

  13. 13

    ServiceStackのOrmliteでの日付と日時の処理

  14. 14

    In句のServiceStack Ormlite配列のデシリアライズ

  15. 15

    ServiceStack.OrmLiteでテーブルのエイリアス名ランタイムを変更します

  16. 16

    ServiceStack.OrmLite.PostgreSQLで最新バージョンのNpgsqlを使用する

  17. 17

    ServiceStack.OrmLite:型なしAPIを使用してTimeSpanを読み戻すと、InvalidCastExceptionが発生します

  18. 18

    ORMLite / ServiceStackソフト削除

  19. 19

    ServiceStack Ormlite Reference Attribute For Same Type

  20. 20

    Adding ServiceStack OrmLite attributes in code instead of a property

  21. 21

    How to do a GroupBy statement with ServiceStack OrmLite

  22. 22

    ServiceStack.OrmLiteテーブル名でテーブルを作成します

  23. 23

    ServiceStack.OrmLite:匿名タイプのSqlExpressionでエイリアスを使用

  24. 24

    ORMLite / Servicestack:複数のネストされたテーブルを結合する

  25. 25

    ServiceStack.OrmLiteでインターセプターは可能ですか?

  26. 26

    ServiceStack OrmLite: JSON フィルドのデシリアライズの問題

  27. 27

    ServiceStackのOrmLiteで任意のSELECTを実行することは可能ですか?

  28. 28

    ServiceStack.ORMLite:Sql.In選択を使用したカスタムPocoへのカスタムクエリ?

  29. 29

    servicestack ormliteを使用して動的にテーブルを作成(および選択)します

ホットタグ

アーカイブ