1
我是相當新的.NET,但一直在這個項目上的某個時候現在的進展甚微,並與類的量它變得有點勢不可擋。序列化爲XML作家
目的:
生成實體框架表(應該是使用LINQ)<數據 - LINQ似乎是工作。
翻譯數據轉換成XML < - 不是所有
電子郵件工作,如果不工作< - 這是工作得很好,奇怪的是笑;)
誰能給我一個例子代碼連接到實體和序列化(可能使用泛型,如果這是最好的方式)通過DataContract到XML編寫器?根據評論,這裏是我要去的一個樣本。 - 所以我們還要說,在這個模型中,我們想要加入包含「The Boys」的「DIRTYMIKE」表作爲一個名字的對象,通過xml和PRIUS中的「CARS」表提取id by id顯然這是一個理論的一組實體,但希望它給別人一笑道:)
這裏的一些理論課我剛剛颳起了 - 希望這解釋了更多的目標是什麼:
public class TheOtherGuys
{
private static ILog log;
private string theBoysWrapper;
private int rowsRead = 0;
private int outputRecords = 0;
private bool warnings = false;
private bool fatal = false;
private bool fatalMsg = false;
/// <summary>
/// Next wrap the xml with a Document Wrapper and Element Wrapper
/// </summary>
public TheOtherGuys(ILog log)
{
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, null);
doc.AppendChild(dec);//creates root
XmlElement root = doc.CreateElement("DIRTYMIKE");
doc.AppendChild(root);
XmlElement nextElem = doc.CreateElement("THEBOYS");
log = LogManager.GetLogger(this.GetType());
if (log.IsDebugEnabled == true)
{
log.Debug(GetType().Name + ".Constructor(): enter");
}
//creates new xml Document and set up declaration and root
if (log.IsDebugEnabled == true)
{
log.Debug(GetType().Name + ".Constructor(): exit");
}
}
//Read data from DIRTY_MIKE_AND_THE_BOYS and CAR Tables
//Translate the results into xml
private void process(DateTime process) {
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, null);
doc.AppendChild(dec);//creates root
XmlElement root = doc.CreateElement("OTHERGUYS");//maybe a conditional statement to change the root to 'OTHERGUYS'
doc.AppendChild(root);
XmlElement nextElem = doc.CreateElement("CAR");
doc.AppendChild(nextElem);
if (log.IsDebugEnabled == true)
{
log.Debug(GetType().Name + ".process(): enter - prius=" + process);
}
StringBuilder sb = new StringBuilder();
sb.Append(" select ");
sb.Append(" 'PRIUS' CAR, "); // 1
sb.Append(" 'PJM' MKT_CD, "); // 2
sb.Append(" decode(to_char(lh.time_id-1/24, 'HH24'), '00', ");
sb.Append(" to_char(lh.time_id-1, 'YYYYMMDD'), to_char(lh.time_id-1/24, 'YYYYMMDD')) START_DT, "); // 3
sb.Append(" decode(to_char(lh.time_id-1/24, 'HH24'), '00', ");
sb.Append(" '240000', to_char(lh.time_id-1/24, 'HH24MISS')) START_TIME, "); //4
sb.Append(" decode(to_char(lh.time_id, 'HH24'), '00', ");
sb.Append(" to_char(lh.time_id-1, 'YYYYMMDD'), to_char(lh.time_id, 'YYYYMMDD')) END_DT, "); // 5
sb.Append(" decode(to_char(lh.time_id, 'HH24'), '00', ");
sb.Append(" '240000', to_char(lh.time_id, 'HH24MISS')) END_TIME, "); // 6
sb.Append(" cars._car_id TX_PT, "); //8
sb.Append(" lh.data_value TARGET_FD "); // 12
sb.Append("from DATABASE.MYTABLE lh, ");
sb.Append(" DATABASE.CAR car_id ");
sb.Append("where lh.car_id = unit.car_id ");
sb.Append("AND lh.time_id > to_date(?, 'MM/DD/YYYY') ");
sb.Append("AND lh.time_id <= to_date(?, 'MM/DD/YYYY') + 1 ");
sb.Append("AND lh.atb_data_category = 69 AND lh.data_value <> 0 ");
sb.Append(" order by ");
sb.Append(" lh.time_id, lh.car_id ");
sb.ToString();// or something like that
myDataLayer.theOtherGuysEntitie nme = new myDataLayer.theOtherGuysEntities(myConnection.getEntityFrameworkConnection(typeof(myDataLayer.theOtherGuysEntities)));
if (log.IsDebugEnabled == true)
{
log.Debug(GetType().Name + ".process(): odb" + odb);
try
{
DateTime dt = DateTime.ParseExact(processingDate.ToString(), "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
string s = dt.ToString("dd/M/yyyy");
}catch(Exception e) {
fatal=true;
fatalMsg = true;
if(log.IsFatalEnabled==true) {
log.Fatal(GetType().Name + ".process(): exception", e);
}
Console.Error.WriteLine("The OtherGuys Failed Dirty Mike is in the Prius with name{}, name{1}, name{2}, name {3}.");
//Really I am supposed to use LINQ for the querying
// and then conditionalstatementsthrough my business logic to handle the decoding
再次感謝!