Cassandraカウンターフィールドは初めてです。そこで私はテスト環境を作りました。 私はデータベースに正常に挿入することができますが、私は次のエラーを取得するデータベースを選択しようとすると:C#から選択するCassandraカウンターテーブル
An unhandled exception of type 'System.InvalidCastException' occurred in Cassandra.dll Additional information: Specified cast is not valid.
私は次のデータベースを得た:
create table counterInt (
MeterID int,
DayStamp timestamp,
NumberOfValues counter,
Value1 counter,
PRIMARY KEY ((MeterID), Daystamp));
これは私のselectメソッドです。 編集:ヒット時にエラーが発生するrow.GetValue<double>("value1");
主キーが選択されます。
public List<CSVMeter> selectBasic()
{
Connect();
var resultList = new List<CSVMeter>();
RowSet result = session.Execute("select * FROM counterInt");
foreach (Row row in result.GetRows())
{
CSVMeter csvMeter = new CSVMeter();
csvMeter.MeterID = row.GetValue<int>("meterid");
csvMeter.PeriodStart = row.GetValue<DateTime>("daystamp");
csvMeter.Value = row.GetValue<double>("value1");
csvMeter.NumberOfValues = row.GetValue<double>("numberofvalues");
resultList.Add(csvMeter);
}
CloseConnection();
return resultList;
}
私のオブジェクト:
public int MeterID { get; set; }
public DateTime PeriodStart { get; set; }
public double Value { get; set; }
public double Value2 { get; set; }
public CSVMeter(int meterID, DateTime periodStart, double value, double numberOfValues)
{
this.MeterID = meterID;
this.PeriodStart = periodStart;
this.Value = value;
this.Value2 = value2;
this.NumberOfValues = numberOfValues;
this.qualityScore = qualityScore;
}
はcounterInt
テーブルの値があります。私は何か間違っているのですか?
@JaydipJ私はあなたの質問を理解していないのですか?それは私のオブジェクトで 'NumberOfValues'として定義されていますか? – Proliges
はいオブジェクト宣言にこのフィールドの宣言がないので、私は同じ質問をしています –
@JaydipJは編集エラー(概要のコードを最小限に抑えている)かもしれません。問題は 'numberOfValue'フィールドではありません。この問題は、コードが 'row.GetValue(" value1 ");'に達したときに発生し、認識されない例外が発生します。 –
Proliges