public string SaveFlatField(string name, string value) { string savedValue; using (var session = Provider.CreateSessionFactory().CreateSession()) { var query = session.CreateQuery<CsFlatFieldsName>(" WHERE FieldName = '" + name + "'"); var fieldsName = query.GetSingleResult<CsFlatFieldsName>(); query = session.CreateQuery<CsFlatFieldsValue>(" WHERE FieldName = '" + name + "'"); var fieldsValue = query.GetSingleResult<CsFlatFieldsValue>(); var tranx = session.GetTransaction(); // Insert this new field if (fieldsName == null) { fieldsName = new CsFlatFieldsName { FieldName = name }; session.Insert(fieldsName); } // Save its value to FlatFieldsValue table if (fieldsValue == null) fieldsValue = new CsFlatFieldsValue { FieldName = name }; fieldsValue.FieldValue = value; var savedObj = fieldsValue.ID > 0 ? session.Update(fieldsValue) : session.Insert(fieldsValue); savedValue = savedObj.FieldValue; tranx.Commit(); } return savedValue; }
private void InitDefaultFlatFields() { using (var session = Provider.CreateSessionFactory().CreateSession()) { var tranx = session.GetTransaction(); foreach (var defaultFlatField in DefaultFlatFields) { var flatField = new CsFlatFieldsName { FieldName = defaultFlatField }; session.Insert(flatField); } tranx.Commit(); } }